通过 spring-rabbitmq 自动重试连接到代理

5 java spring-integration spring-rabbit spring-amqp spring-boot

我已经阅读了这个文档片段:

RabbitMQ 自动连接/拓扑恢复

从 Spring AMQP 的第一个版本开始,该框架提供了自己的连接和通道在代理失败的情况下恢复。此外,如第 3.1.10 节“配置代理”中所述,RabbitAdmin 将在重新建立连接时重新声明任何基础设施 bean(队列等)。因此,它不依赖于 amqp-client 库现在提供的自动恢复。Spring AMQP 现在使用 4.0.x 版本的 amqp-client,它默认启用自动恢复。如果您愿意,Spring AMQP 仍然可以使用自己的恢复机制,在客户端禁用它(通过将底层 RabbitMQ connectionFactory 上的 automaticRecoveryEnabled 属性设置为 false)。但是,该框架与启用的自动恢复完全兼容。

我不确定我是否正确理解。在我的application.properties我已经定义了端口和主机。在启动我的 spring-boot 应用程序期间,它成功建立了连接和所有必要的 bean 以与队列通信。

但是,如果在启动期间我的应用程序代理关闭并且它将在应用程序启动五分钟后启动怎么办?是否spring-rabbitmq设法重新连接并定义所有 bean?

Art*_*lan 4

这是正确的。Spring AMQP 自动管理重新连接和恢复。

这个主题与 bean 定义无关。如果您谈论代理实体声明,那么是的,它们实际上是在建立连接时进行处理的。