rabbitmq消息發送失敗、
一、概述
rabbitmq消息發送失敗,主要有三種
1、producter連接mq失敗,消息沒有發送到mq
2、producter連接mq成功,但是發送到exchange失敗
3、消息發送到exchange成功,但是路由到queue失敗
二、發送失敗處理
producter連接mq失敗,消息沒有發送到mq
可以使用trycatch捕獲異常,將消息保存到db中后續進行重發處理
producter連接mq成功,但是發送到exchange失敗
通過實現ConfirmCallback接口,對發送結果進行處理,根據ack來判斷是否成功
同時我們可以擴寫correlationData類,因為correlationData只有一個ID屬性,沒有關於消息的水性,我們可以擴展這個類,在發送消息時,把想要的數據寫入就可以了
消息發送到exchange成功但是路由到queue失敗
可以通過實現ReturnCallback接口,對回退消息進行重發處理。
消息持久化還是創建隊列的時候設置一下就行了,主要是為了防止rabbitmq宕機,rabbitmq重啟后,會自己去尋找持久化的數據