上節中我們講了如何確保訊息的準確發布,今天我們來看看如何確保訊息的正確消費。
在之前的基礎上我們對消費者(倉庫服務)進行完善。
所以,首先我們將ack的方式設定為手動:
spring:
rabbitmq:
host: ***.***.***.xx
port: 5672
username: ***x
password: ***x
listener:
direct:
acknowledge-mode: manual # 配置該消費者的ack方式為手動
消費成功後手動確認
處理成功時直接確認,處理失敗時,將訊息重新放回佇列中。
RabbitMQ之訊息確認 AMQP 事務機制
注意,此事務非資料庫的事務概念!將channel設定成事務模式 channel.txselect 提交事務 channel.txcommit 事務回滾 channel.txrollback 當訊息的發布者在將訊息傳送出去之後,訊息到底有沒有正確到達broker 伺服器呢?如果不進行特殊配置的話,預設...
rabbitmq訊息重新入隊和訊息確認
為了確認訊息不會丟失,rabbitmq支援message acknowledgments。乙個ack的響應會從消費端返回,告訴rabbitmq乙個特定的訊息已被接收。當rabbitmq空閒時會處理它,將它刪除。如果乙個消費者掛掉 channel被關閉 connection被關閉或者tcp 連線被關閉...
rabbitmq訊息手動確認訊息操作說明
bean public messagerecoverer messagerecoverer rabbittemplate rabbittemplate public class rejectanddontrequeuerecoverer implements messagerecoverer thr...