zrlw commented on issue #8567: URL: https://github.com/apache/dubbo/issues/8567#issuecomment-903290113
1. FutureFilter的fireInvokeCallback,fireReturnCallback,fireThrowCallback方法调用getAsyncMethodInfo:从ServiceRepository的ConcurrentMap保存的consumerModel取出AsyncMethodInfo,其中ConcurrentMap的key值是invoke url中的interfaceName, group, version组合。如果有AsyncMethodInfo,就进行回调。 2. ReferenceConfig的init方法调用checkAndUpdateSubConfigs方法,然后调用ServiceRepository的registerConsumer方法注册consumerModel的时候,传入的serviceKey只是interfaceName, group, version,不包含methods属性参数,同一个dubbo接口的多个ReferenceBean注册的consumerModel的serviceKey相同,因此只有最后一个才得到保留。 如果是上述代码导致的,那么serviceKey需要加入ReferenceBean的id或者名称。 PS: 之所以搞多个Reference bean,是因为看到有帖子说dubbo2.7.4开始就支持注册同一接口的多个Reference bean了: https://www.cnblogs.com/tlj2018/articles/12198391.html -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
