Spring Cloud Stream+RabbitMQ-使用队列中的现有消息

ezykj2lf  于 2022-09-19  发布在  Spring
关注(0)|答案(1)|浏览(195)

我有一个在服务器上运行的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

感谢您的帮助!

p8h8hvxi

p8h8hvxi1#

您需要向消费者(输入)绑定添加group;否则,它会将匿名、自动删除队列绑定到exchange。
使用group,将绑定一个永久、持久的队列。

相关问题