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

  • 相关阅读:
    Java基础08 继承
    Java基础07 包
    Java基础06 组合
    Java基础05 实施接口
    Java基础04 封装与接口
    Java基础03 构造器与方法重载
    Java基础02 方法与数据成员
    Java基础01 从HelloWorld到面向对象
    151. Reverse Words in a String
    168. Excel Sheet Column Title
  • 原文地址:https://www.cnblogs.com/songxh-scse/p/6692495.html
Copyright © 2020-2023  润新知