[发明专利]运行期Dubbo协议转换装置及方法在审
申请号: | 202110780082.6 | 申请日: | 2021-07-09 |
公开(公告)号: | CN113448689A | 公开(公告)日: | 2021-09-28 |
发明(设计)人: | 郑泽奇;郑小虎;张顺;张鹏鹏 | 申请(专利权)人: | 中国银行股份有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/54 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 薛平;周晓飞 |
地址: | 100818 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 运行 dubbo 协议 转换 装置 方法 | ||
1.一种运行期Dubbo协议转换装置,其特征在于,包括:
Dubbo Service获取模块,用于在运行期受到触发后,解析Dubbo Service配置文件,获得Dubbo Service配置信息;基于Dubbo Service配置信息,确定要被替换的Dubbo Service对象的类型和id,所述Dubbo Service对象用于提供Dubbo协议类型的bean;根据要被替换的Dubbo Service对象的类型和id获得要被替换的Dubbo Service对象,并发送至DubboService替换模块;将Dubbo Service配置信息发送至Controller生成模块;
Controller生成模块,用于在获取到Dubbo Service配置信息后,基于Dubbo Service配置信息从Service接口生成对应的Controller对象,将生成的Controller对象发送至Dubbo Service替换模块,所述Controller对象用于提供Http协议请求;
Dubbo Service替换模块,用于在接收到Controller对象和要被替换的Dubbo Service对象后,使用生成的Controller对象来替换要被替换的Dubbo Service对象。
2.如权利要求1所述的运行期Dubbo协议转换装置,其特征在于,还包括ApplicationContextAware模块,用于获取Spring容器上下文,基于要被替换的DubboService对象的类型和id,通过Spring容器上下文获取要被替换的Dubbo Service对象,并反馈至Dubbo Service获取模块;
所述Dubbo Service获取模块具体用于:基于Dubbo Service配置信息中的ref参数值,确定要被替换的Dubbo Service对象的id;基于Dubbo Service配置信息中的interface参数值,确定要被替换的Dubbo Service对象的类型;将要被替换的Dubbo Service对象的类型和id发送至ApplicationContextAware模块,并接收ApplicationContextAware模块反馈的要被替换的Dubbo Service对象。
3.如权利要求1所述的运行期Dubbo协议转换装置,其特征在于,Controller生成模块具体用于:
根据Service的接口类型信息,使用Javassist工具动态创建Controller对象;
为Controller对象添加@RestController注解;
为Controller对象中的所有公有方法添加@RequestMapping注解;
将Dubbo配置信息拼接出URL;
将所述URL添加为@RequestMapping注解的参数值;
将Service接口参数添加为@RequestBody注解。
4.如权利要求1所述的运行期Dubbo协议转换装置,其特征在于,还包括触发模块,用于在启动Spring工程后,调起BeanPostProcessor类,触发Dubbo Service获取模块。
5.如权利要求4所述的运行期Dubbo协议转换装置,其特征在于,触发模块还用于:在生成的Controller对象替换要被替换的Dubbo Service对象后,生成替换成功消息,并反馈至Spring工程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国银行股份有限公司,未经中国银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110780082.6/1.html,转载请声明来源钻瓜专利网。