转载

一个Dubbo泛化调用的Util

源码地址

https://github.com/wheel-orga...

作用

可以更加灵活的调用其他dubbo接口

实现思路

反射+泛化调用

局限性

局限性:

  1. 传入的参数列表顺序必须和方法上的参数顺序相同(问题不大)
  2. 拿不到具体类型的泛型反序列化还是会失败(这种情况很少)
  3. 需要自己多写一个helper
  4. 必须项目引入了对应的api(问题不大)
  5. dubbo源码有大量变动或结构性改变时,此util也要维护(Apache的dubbo可以兼容alibaba的dubbo,所以我用了alibaba的dubbo)

如何使用

注意:引入的时候一定要去掉api里的dubbo

一个Dubbo泛化调用的Util

入口及入参说明:

唯一入口为:

DubboGenericInvoker#invoke

url为dubbo-admin的url

一个Dubbo泛化调用的Util

methodName为调用方法名

params为参数列表List(顺序必须和方法定义的参数顺序相同,dto请序列化)

实际使用:

  1. 配合swagger

一个Dubbo泛化调用的Util

一个Dubbo泛化调用的Util

  1. 代码单测调用

一个Dubbo泛化调用的Util

原文  https://segmentfault.com/a/1190000019167048
正文到此结束
Loading...