> > > @LiZhenNet 我也留了言,你看下,检验阶段做太多的反序列化不是太好,我建议没有 class 的时候简单让他通过就好
> > 
> > 
> > 我回复你了,我感觉这样是有问题的。
> 
> PR 上没看到你的留言。我的意思是,如果是 JSONObject 
> 的话,不需要反序列话做检查,直接让它过,最终调用的时候如果不对,肯定出错的。如果对的话,按照你的逻辑,会做两次反序列化,太重了。

```java
  private static Method findMethod(Exporter<?> exporter, String method, 
List<Object> args) {
        Invoker<?> invoker = exporter.getInvoker();
        Method[] methods = invoker.getInterface().getMethods();
        Method invokeMethod = null;
        for (Method m : methods) {
            if (m.getName().equals(method) && m.getParameterTypes().length == 
args.size()) {
                if (invokeMethod != null) { // 重载
                    if (isMatch(invokeMethod.getParameterTypes(), args)) {
                        invokeMethod = m;
                        break;
                    }
                } else {
                    invokeMethod = m;
                }
                invoker = exporter.getInvoker();
            }
        }
        return invokeMethod;
    }
```
可否就用2.5.3的代码逻辑,这样非重载方法都不用调`isMatch`判断;只有重载方法才要做判断,只是在没有`class`时会存在调错方法的可能

[ Full content available at: 
https://github.com/apache/incubator-dubbo/issues/3105 ]
This message was relayed via gitbox.apache.org for 
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to