不使用注册中心,消费者通过服务提供的url访问dubbo。先启动消费者,然后启动服务提供者。在dubbo3.1.7版本时,消费者可以在服务提供者启动以后重连成功,而dubbo-3.2.1却不行。根据源代码,负责重新连接的ConnectionListener类的实现已经更改。代码中连接引用的数量从正变为0,导致逻重连辑提前终止。这是有意为止,还是Apache Dubbo版本升级引入的bug?
Dubbo 3.2.x 版本中的 ConnectionListener 类确实对重连机制进行了修改,但是这个修改不应该导致消费者无法在服务提供者启动后重连成功。因此,这可能是 Dubbo 3.2.1 版本中的一个 bug。
在 Dubbo 中,消费者可以通过服务提供者的 URL 直接访问服务,而不需要使用注册中心。Dubbo 会在消费者启动时建立与服务提供者的连接,并在连接断开后进行重连。在 Dubbo 3.1.7 版本中,ConnectionListener 类负责连接的重连和管理,可以在服务提供者启动后成功进行重连。而在 Dubbo 3.2.1 版本中,ConnectionListener 类的实现确实进行了修改,可能导致连接引用数量的变化,从而影响重连机制的正常运行。
从您的描述中,可以推测出在 Dubbo 3.1.7 版本中,消费者可以在服务提供者启动后成功重新连接,但在 Dubbo 3.2.1 版本中却不行。您还提到了 ConnectionListener 类的实现发生了更改,并且连接引用数量从正变为0,导致重连逻辑提前终止。
根据这些信息,我无法直接判断是否有意为之或是否是 Apache Dubbo 升级引入的 bug。因此,建议您通过以下几个步骤来进一步排查问题:
检查配置:确保 Dubbo 的配置文件(例如 dubbo.properties
或 dubbo.yml
)没有发生任何变化,并且消费者和服务提供者都正确配置了相应的注册中心信息和服务URL。
日志调试:在 Dubbo 3.2.1 版本中,启用详细的日志记录(如 DEBUG 或 TRACE 级别),并观察消费者端和服务提供者端的日志输出。尤其注意连接相关的日志,以查看是否存在错误消息或异常。
官方文档和社区讨论:查阅 Dubbo 3.2.1 版本的官方文档、GitHub 仓库或相关的社区讨论,了解是否存在与连接或重连相关的已知问题、规范变更或配置改动。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。