Sink层进行了重要升级
包括:
升级指引:原有的SinkController已经弃用,而且开发者对于简单的sink服务,可以直接通过配置sink-id属性进行加载,无需写RestController和RabbitmqListener了。
升级指引:原有的bean和sink-bean服务类,要从现在的connector挂接中剥离出来,挂接在bean和sink-bean的processor下。
升级指引:原有bean、sink-bean类型的sink服务类,无需在代码类中通过Converter.getSinkConverter和Connector.getSinkConnector来获取converter和connector,直接改为继承AbstractSinkService类后,会自动注入Connector和Converter。
升级指引:如果有纯Java类的sink服务,要改成注入Spring容器的Bean。
升级指引:原有service.yml还暂时支持,但建议这个版本统一从service.yml升级成app.yml。
修复了日志发送时最初请求消息被后续操作改动的问题。 由于原始消息报文是弱拷贝,会在处理过程中被修改,导致原始消息报文被误改动。
平台标准消息头BizMessage中增加了appServiceId域。 在很多交易处理过程中需要识别发起的App服务ID,在原有报文头中没有记录。
去掉针对sink服务rabbitmq接口的rpc同步模式,全部约定为非rpc异步模式。 目前sink服务支持rest和rabbitmq二种类型,rest为同步,rabbitmq为异步,不需要rabbitmq再支持同步模式。
把原有JSONObjectSinkBeanInterface改名成SinkBeanInterface,原来的SinkBeanInterface删除,以规范Sink服务的接口命名(和App服务的AppBeanInterface保持一致)
升级指引:原有继承SinkBeanInterface的sink-bean服务类,要修改实现机制,出入参数从byte[]变更为JSONObject;原有继承JSONObjectSinkBeanInterface的sink-bean服务类,继承接口变更为SinkBeanInterface即可。
交易日志在原有App服务成功、失败、挂起3个状态基础上,再增加Sink服务成功、失败2个状态,主要用于异步Sink服务的交易全周期监控。
正式删除integrator-common、integrator-spring-boot-starter这2个子模块。
对API接口进行了规范: