【发布时间】:2018-07-25 17:07:41
【问题描述】:
我正在使用带有 RabbitMQ 的 Spring Cloud example。
使用 RabbitMQ 启动 docker 后:
sudo docker run -t -i --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3-management
我执行了发布者和订阅者应用程序的示例来观察消息的行为。
我在管理面板 (http://localhost:15672) 中注意到的一件事是,在启动订阅者时创建的队列配置为 auto-delete: true。因此,当没有订阅者运行时,不会创建队列,并且发布者发送的每条消息都被丢弃。这不是我期望的默认配置!
所以,我想将创建的队列更改为auto-delete: false,因为这样消息不会丢失,并且当一些订阅者启动时,它将能够使用排队的消息(对吗?)。我如何在 Spring 上做到这一点?
正如我所说,我使用的所有代码都可以在这个example 中找到。我所做的唯一更改是将 Spring Boot 的版本更新为 1.5.9.RELEASE。
【问题讨论】:
-
你找到解决方案了吗?
-
@idipous 我没有测试它,但我找到了一个可能的解决方案。我将分享答案
标签: spring spring-boot rabbitmq message-queue