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将直接中断服务并返回错误的报文

最新文章

  1. 管道寄售库存MRKO结算后,冲销问题
  2. 基于Storm的工程中使用log4j
  3. MySQL的information_schema的介绍
  4. oracle学习之-----操作表中的数据
  5. CHANGE DEFAULT FTP PORT FOR VSFTP
  6. vijosP1223麦森数
  7. 图解script的三种加载方式 异步加载顺序
  8. java 二维码解析和生成
  9. 第一册:lesson1-2.
  10. [py]资源搜集
  11. 修改create-react-app支持多入口
  12. 我的游戏学习日志3——三国志GBA
  13. Abp.Linq.Extensions扩展(1)--static class QueryableExtensions
  14. vue 高级属性父组件provide向子组件发送数据,子组件通过inject接收数据
  15. DeepNLP的核心关键/NLP词的表示方法类型/NLP语言模型 /词的分布式表示/word embedding/word2vec
  16. Win7关机时弹出对话框,提示你想要的信息
  17. ReadTimeoutError: HTTPSConnectionPool(host=&#39;pypi.python.org&#39;, port=443): Read timed out.
  18. PHP之语句
  19. 原生mybaits学习笔记
  20. centos7安装lamp

热门文章

  1. fedora更新
  2. RD340服务器安装windows2003系统
  3. MySQL基本操作命令
  4. 5.2Python函数(二)
  5. java list 排序,建议收藏的排序方法
  6. Linux系统学习之进程管理
  7. python编程入门之简介
  8. spring batch批量处理框架
  9. 【POJ 3476】A Game with Colored Balls
  10. Android对接微信支付体验