1.0-SNAPSHOP-1 (2012-05-18)
1.解决JaxbXmlRopResponseMarshaller 存在的多线程安全问题;
2.RopRequest添加一个rawRequestObject的属性,可以获取原始Request的对象(即HttpServletRequest)
3.RopSample的UserRestServiceClient改为测试用例。
4.可通过RopServlet的needCheckSign Servlet参数指定是否要进行签名校验。
5.Rop框架的配置原来使用RopServlet的初始化参数,现在改为使用一个配置文件,默认的配置文件为:/WEB-INF/
6.解决JaxbXmlRopResponseMarshallerTest一个BUG,原来有依赖JUnit,现已经移除。
1.0-SNAPSHOP-1 (2012-05-29)
https://www.wendangku.net/doc/214796651.html,.rop.ApiMethod及IgoreSign注解类迁移到com.rop.annotation包下,同时易名为com.rop.ServiceMethod,
新增group,tags,title,timeout,version,ignoreSign,ioLogLevel等属性。
2.在com.rop.annotation包下,新增com.rop.ServiceMethodGroup,ServiceMethodGroup 用于标注在服务类中,由于其
已经标注了Spring的Component注解,因此服务类标注ServiceMethodGroup后,即成为Spring的Bean,无需额外标注
@Component或@Service等。
3.新增com.rop.ServiceMethodDefinition,用于描述Rop的服务方法定义;
https://www.wendangku.net/doc/214796651.html,.rop.RopServiceContext易名为ServiceMethodContext,在ServiceMethodContext中新增获取ServiceMethodDefinition的方法。
https://www.wendangku.net/doc/214796651.html,.rop.RopServiceHandler添加serviceMethodDefinition()的方法;
https://www.wendangku.net/doc/214796651.html,.rop.Interceptor添加boolean isMatch(ServiceMethodContext methodContext)方法,以便指定拦截器的拦截范围。
com.rop.AbstractInterceptor添加isMatch()的默认实现,返回true。
https://www.wendangku.net/doc/214796651.html,.rop.ResponseFormat易名为com.rop.MessageFormat.
https://www.wendangku.net/doc/214796651.html,.rop.RopResponseMarshaller接口类名易名为RopMarshaller,接口方法:
void marshaller(RopResponse response, OutputStream outputStream) 调整为
void marshaller(Object obj, OutputStream outputStream)
9.新增com.rop.marshaller.MessageMarshallerUtils,可以对RopRequest和RopResponse对象进行序列化输出。
10.对RopValidator及其实现类进行重构,使代码更加清晰。
11.新增SignUtils工具类,它负责对参数列表进行签名.
12.新增com.rop.RopContext它代表Rop框架的上下文,服务处理器(ServiceMethodHandler)在RopContext中通过 method+version的方式
注册。
1.0-SNAPSHOP-2 (2012-06-21)
1.新增com.rop.session包,管理会话,感谢iteye的melin的贡献;
2.删除com.rop.validation.SessionChecker,采用com.rop.session新的会话管理体系,相应调整RopValidator的接口;
1.0-SNAPSHOP-3 (2012-07-31)
https://www.wendangku.net/doc/214796651.html,.rop.response.ServiceErrorResponse 易名为BusinessServiceErrorResponse,其对应的主错误代码调整为9;
2.新增com.rop.CallLimitManager,用以限定应用、会话、用户的访问效率及频率,在
3.删除大部分ISP的子错误,仅留下isp.xxx-service-unavail
able和isp.xxx-service-timeout错误;
4.请求参数数据校验精细化处理,首先如何发现必须的参数未提供,则返回isv.missing-parameter:xxx错误,
然后再看是否存在数据类型转换的错误,如果存在则返回isv.parameters-mismatch:xxx-and-yyy错误,
最后查看是否存在其它类型的校验错误,如果存在则返回isv.invalid-paramete:xxx错误;
5.添加了34~37的主错误,分别对应应用、会话及用户的访问超限;
6.文件上传主错误码从34调用为4;
7.错误报文的message,solution从属性调整为元素(因为其内容比较长,放在元素中好看些);
https://www.wendangku.net/doc/214796651.html,.rop.SecurityManager的接口调用,新的接口方法一个用于检查应用的权限,另一个用户检查用户的权限,
当应用或用户的权限不满足要求时,返回的主错误码分别对应2和3;
9.当服务内部抛出异常时,子错误对应isp.xxx-service-unavailable,其message会包含异常名字及异常的堆栈信息,方便问题定位和排查;
10.新增FileItem对象及其转换器FileItemConverter;
11.RopUtils新增若干个静态方法;
12.如果RopRequest中的属性类型标注了@IgnoreSign,则也不纳入签名,FileItem类就打了@IgnoreSign
13.新增com.rop.UploadFileSecurityManager类,用于管理上传文件的安全,同时
upload-file-max-size和upload-file-types属性。
https://www.wendangku.net/doc/214796651.html,.rop.validation包易名为com.rop.security,同时RopValidator易名为RopSecurityManager;
https://www.wendangku.net/doc/214796651.html,.rop.SecurityManager易名为com.rop.security.ServiceInvokeSecurityManager;
16.CallLimitManager易名为InvokeTimesLimitSecurityManager
17.删除RopResponse,服务方法的返回值可以是任何类型。