[英]Spring Cloud Stream + RabbitMQ - Consuming existing messages in queue
我有一個在服務器中運行的 RabbitMQ 消息代理,我正在嘗試使用 Spring Cloud Stream 配置生產者和消費者。 我的生產者每秒都在隊列中創建消息,而我的消費者以相同的速度讀取它們。 但是,如果我停止我的消費者並且生產者繼續推送消息,當我再次重新啟動我的消費者時,它無法檢索在它關閉的那段時間創建的消息,只能拾取從它啟動時產生的消息. 如何讓我的消費者在啟動時使用隊列中的現有消息?
這是我的消費者屬性:
cloud:
stream:
bindings:
input:
destination: spring-cloud-stream-demo
consumer:
auto-bind-dlq: true
republishToDlq: true
maxAttempts: 5
還有我的 Producer 屬性:
cloud:
stream:
bindings:
output:
destination: spring-cloud-stream-demo
感謝任何幫助!
您需要在消費者(輸入)綁定中添加一個group
; 否則它將綁定一個匿名的、自動刪除的隊列到交換器。
使用group
,則綁定一個永久的、持久的隊列。
我也有一個問題。 在消費者起床之前,我向生產者發送數據。 一段時間后,我喚醒了消費者。 消費者收到打印的數據,因為它站起來。 所以它不會從一開始就進行閱讀。 有沒有什么辦法解決這一問題? ——加里·羅素
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.