一个Dubbo泛化调用的Util

38次阅读

共计 404 个字符,预计需要花费 2 分钟才能阅读完成。

源码地址

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

作用

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

实现思路

反射 + 泛化调用

局限性

局限性:

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

如何使用

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

入口及入参说明:

唯一入口为:

DubboGenericInvoker#invoke

url 为 dubbo-admin 的 url

methodName 为调用方法名

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

实际使用:

  1. 配合 swagger


  1. 代码单测调用

正文完
 0