我有一个在服务器上运行的RabbitMQ消息代理,我试图使用Spring Cloud Stream配置生产者和消费者。我的生产者每秒在队列中创建消息,而我的消费者以相同的速率读取消息。但是,如果我停止我的消费者,而生产者继续推送消息,当我再次重新启动消费者时,它无法检索在它关闭的时间段内创建的消息,只能提取从它启动时生成的消息。如何使消费者在队列启动时使用队列中的现有消息?
以下是我的消费者属性:
cloud:
stream:
bindings:
input:
destination: spring-cloud-stream-demo
consumer:
auto-bind-dlq: true
republishToDlq: true
maxAttempts: 5
和我的制作人属性:
cloud:
stream:
bindings:
output:
destination: spring-cloud-stream-demo
感谢您的帮助!
1条答案
按热度按时间p8h8hvxi1#
您需要向消费者(输入)绑定添加
group
;否则,它会将匿名、自动删除队列绑定到exchange。使用
group
,将绑定一个永久、持久的队列。