【发布时间】:2017-03-23 16:06:34
【问题描述】:
我已阅读此文档片段:
RabbitMQ 自动连接/拓扑恢复
自 Spring AMQP 的第一个版本以来,该框架已经提供了它的 在代理失败的情况下自己的连接和通道恢复。 此外,如第 3.1.10 节“配置代理”中所述, RabbitAdmin 将重新声明任何基础设施 bean(队列等) 重新建立连接。因此它不依赖于 现在由 amqp-client 库提供的自动恢复。春天 AMQP 现在使用 4.0.x 版本的 amqp-client,它具有自动 默认启用恢复。 Spring AMQP 仍然可以使用自己的 如果您愿意,可以在客户端禁用恢复机制,(通过 在基础上设置 automaticRecoveryEnabled 属性 RabbitMQ connectionFactory 为 false)。然而,框架是 与启用的自动恢复完全兼容。这意味着任何 您在代码中创建的消费者(可能通过 RabbitTemplate.execute()) 可以自动恢复。
我不确定我是否正确理解。在我的application.properties 中,我定义了端口和主机。在启动我的 spring-boot 应用程序期间,它成功建立了连接以及与队列通信的所有必要 bean。
但是,如果在启动过程中我的应用程序代理关闭并且它将在应用程序启动五分钟后启动,该怎么办? spring-rabbitmq 是否设法重新连接并定义所有 bean?
【问题讨论】:
标签: java spring-boot spring-integration spring-amqp spring-rabbit