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框架学习笔记的更多相关文章

  1. phalcon(费尔康)框架学习笔记

    phalcon(费尔康)框架学习笔记 http://www.qixing318.com/article/phalcon-framework-to-study-notes.html 目录结构   pha ...

  2. Yii框架学习笔记(二)将html前端模板整合到框架中

    选择Yii 2.0版本框架的7个理由 http://blog.chedushi.com/archives/8988 刚接触Yii谈一下对Yii框架的看法和感受 http://bbs.csdn.net/ ...

  3. JavaSE中Collection集合框架学习笔记(2)——拒绝重复内容的Set和支持队列操作的Queue

    前言:俗话说“金三银四铜五”,不知道我要在这段时间找工作会不会很艰难.不管了,工作三年之后就当给自己放个暑假. 面试当中Collection(集合)是基础重点.我在网上看了几篇讲Collection的 ...

  4. JavaSE中Collection集合框架学习笔记(3)——遍历对象的Iterator和收集对象后的排序

    前言:暑期应该开始了,因为小区对面的小学这两天早上都没有像以往那样一到七八点钟就人声喧闹.车水马龙. 前两篇文章介绍了Collection框架的主要接口和常用类,例如List.Set.Queue,和A ...

  5. JavaSE中Map框架学习笔记

    前言:最近几天都在生病,退烧之后身体虚弱.头疼.在床上躺了几天,什么事情都干不了.接下来这段时间,要好好加快进度才好. 前面用了三篇文章的篇幅学习了Collection框架的相关内容,而Map框架相对 ...

  6. JavaSE中线程与并行API框架学习笔记1——线程是什么?

    前言:虽然工作了三年,但是几乎没有使用到多线程之类的内容.这其实是工作与学习的矛盾.我们在公司上班,很多时候都只是在处理业务代码,很少接触底层技术. 可是你不可能一辈子都写业务代码,而且跳槽之后新单位 ...

  7. JavaSE中线程与并行API框架学习笔记——线程为什么会不安全?

    前言:休整一个多月之后,终于开始投简历了.这段时间休息了一阵子,又病了几天,真正用来复习准备的时间其实并不多.说实话,心里不是非常有底气. 这可能是学生时代遗留的思维惯性--总想着做好万全准备才去做事 ...

  8. scrapy爬虫框架学习笔记(一)

    scrapy爬虫框架学习笔记(一) 1.安装scrapy pip install scrapy 2.新建工程: (1)打开命令行模式 (2)进入要新建工程的目录 (3)运行命令: scrapy sta ...

  9. TensorFlow机器学习框架-学习笔记-001

    # TensorFlow机器学习框架-学习笔记-001 ### 测试TensorFlow环境是否安装完成-----------------------------```import tensorflo ...

随机推荐

  1. Beta冲刺(2/5)(麻瓜制造者)

    今日完成任务 邓弘立:继续完成了昨天未完成的登录接口的重编码与测试. 李佳铭|:进一步完善了收藏UI 江郑: 对使用前端框架页面元素的进一步优化,基本功能进行中 刘双玉:部分图书馆租借接口修改 肖小强 ...

  2. 添加Nginx为系统服务(设置开机启动)

    在本节中,我们将创建一个脚本,将Nginx守护进程转换为实际的系统服务. 这有两个作用:守护程序可以使用标准命令控制,更重要的是,它可以在系统启动时自动启动,并在系统关闭时停止. System V s ...

  3. MySQL慢查询1- 开启慢查询

    本文章摘自网络,学习之用 一.简介 开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能. 二.参数说明 slow_query_log ...

  4. Arduino IDE for ESP8266 (0) 官方API

    http://arduino-esp8266.readthedocs.io/en/latest/esp8266wifi/readme.html 0 简单的连接到WIFI #include <ES ...

  5. PCB (5) 创建自己的原件库

    创建如何创建 创建原理图元器件库 创建器件原理图 创建器件PCB 如何创建器件PCB 1自己画 2修改现有 3联合PCB和原理图 1创建原理图元器件库 2创建器件原理图 画图形 从其他复制修改原理图 ...

  6. js点滴

    1. promise用法 https://www.cnblogs.com/lvdabao/p/es6-promise-1.html https://segmentfault.com/a/1190000 ...

  7. Unicode(UTF-8, UTF-16)令人混淆的概念(转)

    文章转自http://www.cnblogs.com/kingcat/archive/2012/10/16/2726334.html (http://swiftlet.net/archives/cat ...

  8. Java并发(五)线程池使用番外-分析RejectedExecutionException异常

    目录 一.入门示例 二.异常场景1 三.异常场景2 四.解决方法 之前在使用线程池的时候,出现了 java.util.concurrent.RejectedExecutionException ,原因 ...

  9. ASP 基础一 网站开发 初步认识

    一 .ASP 与 ASP.NET的区别 i.ASP是解释型的动态语言,asp文件包含了前端和动态语言VBScript,来实现对服务器的交互,运行在IIS.PWS等WEB服务器上 II.ASP.NET是 ...

  10. Android Studio中依赖第三库导致support版本冲突解决方案

    1.今天在Android Studio的app/gradle文件中依赖文件选择器的第三方库:“com.leon:lfilepickerlibrary:1.8.0” 时,github地址:https:/ ...