老的消息中间件投递失败的类型值_RabbitMQ消息中间件技术精讲11 高级篇四 confirm 确认消息...
RabbitMQ消息中間件技術精講11 高級篇四 confirm 確認消息
理解Confirm消息確認機制:
消息的確認,是指生產者投遞消息后,如果broker收到消息,則會給生產者一個應答;
生產者經行接收應答,用來確定這條消息是否正常的發送到broker,這中方式也是消息的可靠性投遞的核心保障!
確認機制流程圖:
如何實現Confirm確認消息?
第一步:在channel上進行開啟確認模式:channel.confirmSelect();
第二步:在channel上添加監聽:addConfirmListener,監聽成功和失敗的返回結果,根據具體的結果對消息進行重新發送,或記錄日志等后續操作。
代碼實現:
添加確認消息監聽是在生產端處理的,所以生產端代碼如下:
在channel上添加確認模式:
添加監聽的,我們可以看到還有返回監聽,關閉shutdown的監聽。這里我們選擇確認監聽:
說明:
在添加確認監聽時候,需要一個ConfirmListener listener的參數。這里我們就使用了內部類。其中要實現兩個方法:handleAck和handleNack.
handleAck:成功監聽,handleNack失敗監聽。
其中兩個產生:long 類型的消息唯一標簽,boolean類型的是否批量。
我們在來看看消費者端:
啟動服務:
啟動消費者,我們在管控臺查看:
路由exchanges列表:
隊列和路由都已經創建了。接下來,我們啟動生產者,觀察控制是否接收到應答:
我們可以看到,生產者已經打印出投遞成功的確認消息。
本節總結:
相關代碼已發布在git上,歡迎大家下載查看
下節預告:
在下節中,我們將講解return消息機制
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的老的消息中间件投递失败的类型值_RabbitMQ消息中间件技术精讲11 高级篇四 confirm 确认消息...的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 海利士内存ddr4:电脑玩家的神器,为你
- 下一篇: 内存条选购攻略:容量与频率如何选择?
