dubbo通过invoke的方式去调用服务
- method()
invoke method() ----- 正常调用 - method(int param1, int param2)
invoke method(1, 2) ---- 正常调用 - method(XXXObject obj)
invoke method(json字符串) --- 报错, no such method **
请问为什么第三种情况下,会调用不到服务。以前用过传json的也可以正常调用。
之后看dubbo invoke调用之后的处理 InvokeTelnetHandler。
发现在校验参数的时候,会去判断类型是否一致。当我们传入json的时候,参数类型是jsonObject,所以我们得添加一个属性class,来指定参数类型。