- Dubbo version: master 3.0 消费端存在多个DubboReference同一个服务接口
- 服务端配错了端口注册到了注册中心,但是防火墙没有开启消费端到服务端这个端口的策略
- 消费端从注册中心正常订阅到服务端的url,建立连接时被防火墙阻断,开始ReconnectTimerTask自动重连
- 服务修改端口后重新启动,又注册到注册中心了 但是消费端的ReconnectTimerTask依然锲而不舍地在重连旧url,原因是destroyUnusedInvokers销毁旧连接时,调用invoke.destroy方法只调用一次client.close,多个Reference同一接口时,ReferenceCountExchangeClient的referenceCount大于1,只close一次只是把referenceCount减一而已,不会实际关闭。 我想为Invoker接口加一个新的destroyAll接口,default实现是直接调用destroy,DubboInvoker这样的invoker自己override立即关闭客户端,提供给destroyUnusedInvokers方法调用,如何?