dubbo RPC框架动态获取接口实现
现在系统的又独立的支付应用,收到第三方支付(微信/支付宝)支付结果后,该服务需要将支付结果的通知下发给发起支付的各个子应用。 现在是定义了一个公共的接口,每个子应用都去实现它,但是这种方式非常麻烦,假如后面子应用越来越多,岂不是要在xml里面配置很多实现类? 有没有可能动态获取这个接口的所有实现类,然后循环执行?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
可以使用2种方法,一种是基于url来获取到对应的Dubbo服务。
另外一种是通过group来区分接口的不同实现,可扩展性,适用性会更好。
贴段简单的代码,具体的实现可以看这篇文章:Dubbo动态获取接口实现,和这个Demo项目dubbo-dynamic-impl
这是最简单的方式,也不复杂。如果要动态获取的话,可以将实现了这个接口的类注册到zookeeper上,然后支付应用获取调用,不过太麻烦了,而且不了解zookeeper的话很容易出问题,没必要引入这么多复杂性
给你提供下dubbo源码