Rop框架学习笔记
1、 提供了开发服务平台的解决方案:比如应用认证、会话管理、安全控制、错误模型、版本管理、超时限制
2、 启动:RopServlet截获http请求
配置:
<servlet> <servlet-name>rop</servlet-name> <servlet-class>com.rop.RopServlet</servlet-class> <load-on-startup>1</load-on-startup>
</servlet> <servlet-mapping> <servlet-name>rop</servlet-name> <url-pattern>/router</url-pattern> </servlet-mapping>
3、 注解
1)@ServiceMethodBean 标注在class之前,使相应的class成为一个Rop服务的Bean
2)@SeviceMethod(method = “服务方法名称”, version=“版本号”, needInSession = 是否要工作在会话环境中)
4、 统一服务的URL
所有的服务都使用统一的URL,Rop通过method系统级参数将请求分配到指定的服务方法中完成服务代理。服务平台最终的URL为:<开放根平台URL>/<RopServlet的映射URI>
5、 数据转换过程
HTTP报文---HttpRequestContext---RopRequestContext---RopRequest输送给服务方法
6、 使用注解实现HTTP请求到服务处理方法的映射,例如:
@Service
public class Hello () { @ServiceMethod (method = “sayHello”, version = “1.0”) public void say () { System.out.println (“Hello”); } }
7、 Rop注解@ServiceMethod的属性
method:代码服务方法名
version:版本号
group:服务分组名,无特殊意义,默认分组为ServiceMethodDefinition.DEFAULT_GROUP
groupTitle:服务分组标识
tags:类型是String[],可以给服务打上TAG,在时间处理监听器、服务拦截器利用TAG进行特殊处理
title:服务的标识
httpAction:服务允许的HTTP请求方法,可选值在HttpAction枚举中定义,即GET或POST,如果不指定则不限制
needInSession:表示该服务方法是否需要工作在Session环境中,默认所有的服务方法必须工作在会话环境中,可以设置needInSession = NeedInSession.NO
ignoreSign:表示服务是否需要进行请求数据签名验证,当@ignoreSign用在属性上时,该属性对应的请求参数排除在签名参数列表之外
timeout:服务超时时间,单位为秒,如果服务方法执行时间超过timeout后,Rop将直接中断服务并返回错误的报文
Rop框架学习笔记的更多相关文章
- phalcon(费尔康)框架学习笔记
phalcon(费尔康)框架学习笔记 http://www.qixing318.com/article/phalcon-framework-to-study-notes.html 目录结构 pha ...
- Yii框架学习笔记(二)将html前端模板整合到框架中
选择Yii 2.0版本框架的7个理由 http://blog.chedushi.com/archives/8988 刚接触Yii谈一下对Yii框架的看法和感受 http://bbs.csdn.net/ ...
- JavaSE中Collection集合框架学习笔记(2)——拒绝重复内容的Set和支持队列操作的Queue
前言:俗话说“金三银四铜五”,不知道我要在这段时间找工作会不会很艰难.不管了,工作三年之后就当给自己放个暑假. 面试当中Collection(集合)是基础重点.我在网上看了几篇讲Collection的 ...
- JavaSE中Collection集合框架学习笔记(3)——遍历对象的Iterator和收集对象后的排序
前言:暑期应该开始了,因为小区对面的小学这两天早上都没有像以往那样一到七八点钟就人声喧闹.车水马龙. 前两篇文章介绍了Collection框架的主要接口和常用类,例如List.Set.Queue,和A ...
- JavaSE中Map框架学习笔记
前言:最近几天都在生病,退烧之后身体虚弱.头疼.在床上躺了几天,什么事情都干不了.接下来这段时间,要好好加快进度才好. 前面用了三篇文章的篇幅学习了Collection框架的相关内容,而Map框架相对 ...
- JavaSE中线程与并行API框架学习笔记1——线程是什么?
前言:虽然工作了三年,但是几乎没有使用到多线程之类的内容.这其实是工作与学习的矛盾.我们在公司上班,很多时候都只是在处理业务代码,很少接触底层技术. 可是你不可能一辈子都写业务代码,而且跳槽之后新单位 ...
- JavaSE中线程与并行API框架学习笔记——线程为什么会不安全?
前言:休整一个多月之后,终于开始投简历了.这段时间休息了一阵子,又病了几天,真正用来复习准备的时间其实并不多.说实话,心里不是非常有底气. 这可能是学生时代遗留的思维惯性--总想着做好万全准备才去做事 ...
- scrapy爬虫框架学习笔记(一)
scrapy爬虫框架学习笔记(一) 1.安装scrapy pip install scrapy 2.新建工程: (1)打开命令行模式 (2)进入要新建工程的目录 (3)运行命令: scrapy sta ...
- TensorFlow机器学习框架-学习笔记-001
# TensorFlow机器学习框架-学习笔记-001 ### 测试TensorFlow环境是否安装完成-----------------------------```import tensorflo ...
随机推荐
- Linux运维面试题之--网页打开缓慢如何优化
服务器负载过高或者网页打开缓慢,简单说说你的优化思路 ? 首先我们要发现问题的过程,通过操作系统,数据库,程序设计,硬件角度四个维度找到问题所在 找到瓶颈点的位置 制定好优化方案,形成处理问题的体系 ...
- ASP.NET WebForm 检测页面刷新(Refresh)
本文是翻译贴, 原文参见Detecting browser 'Refresh' from Code behind in C# 浏览器的"刷新"常会导致问题, 特别是当页面和数据库有 ...
- 在CDS(Core Data Services)中使用DCL(Data Control Language)
最近,我在玩ABAP CDS视图,并且遇到了一些权限方面的挑战.我在网上没看到有多少有关CDS开发的文档,因为它是个相当新的东西.因此,我决定写下这篇博客,也许我的想法可以帮助到一些人. 和你已经意识 ...
- jQuery实现全选/反选和批量删除
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncod ...
- Highcharts属性与Y轴数据值刻度显示Y轴最小最大值
Highcharts 官网:https://www.hcharts.cn/demo/highcharts Highcharts API文档:https://api.hcharts.cn/highcha ...
- 有时间研究一下Spark的HashPartitioner和RangePartitioner
有时间研究一下Spark的HashPartitioner和RangePartitioner有时间研究一下Spark的HashPartitioner和RangePartitioner有时间研究一下Spa ...
- 转载 三、并行编程 - Task同步机制。TreadLocal类、Lock、Interlocked、Synchronization、ConcurrentQueue以及Barrier等
随笔 - 353, 文章 - 1, 评论 - 5, 引用 - 0 三.并行编程 - Task同步机制.TreadLocal类.Lock.Interlocked.Synchronization.Conc ...
- 转载 [ZooKeeper.net] 3 ZooKeeper的分布式锁
[ZooKeeper.net] 3 ZooKeeper的分布式锁 基于ZooKeeper的分布式锁 源码分享:http://pan.baidu.com/s/1miQCDKk ZooKeeper ...
- k8s部署spring-boot项目失败
现象:spring-boot项目启动到某个地方停止,然后容器重启 解决:扩大内存和核心数
- centos时区设置
[root@ logs]# tzselect Please identify a location so that time zone rules can be set correctly.Pleas ...