中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

RabbitMq消息發送確認有哪些注意事項

發布時間:2021-11-17 13:39:47 來源:億速云 閱讀:166 作者:iii 欄目:大數據

這篇文章主要介紹“RabbitMq消息發送確認有哪些注意事項”,在日常操作中,相信很多人在RabbitMq消息發送確認有哪些注意事項問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”RabbitMq消息發送確認有哪些注意事項”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

消息發送確認

生產者發送消息,是先發送消息到Exchange,然后Exchange再路由到Queue。這中間就需要確認兩個事情,第一,消息是否成功發送到Exchange;第二,消息是否正確的通過Exchange路由到Queue。
spring提供了兩個回調函數來處理這兩種消息發送確認。

ConfirmCallback和ReturnCallback

  • 實現ConfirmCallback并重寫confirm(CorrelationData correlationData, boolean ack, String cause)回調方法,可以確認消息是否發送到Exchange。

  • 實現ReturnCallback并重寫returnedMessage(Message message, int replyCode, String replyText, String exchange, String routingKey)回調方法,可以確認消息從EXchange路由到Queue失敗。注意:這里的回調是一個失敗回調,只有消息從Exchange路由到Queue失敗才會回調這個方法。

  • 注意,若需要以上兩個回調函數生效,需要添加配置
    配置文件:

  •  

  • # 開啟發送確認
    spring.rabbitmq.publisher-confirms=true
    # 開啟發送失敗退回
    spring.rabbitmq.publisher-returns=true
    #指定消息在沒有被隊列接收時是否強行退回還是直接丟棄
    spring.rabbitmq.template.mandatory=true

 mandatory的作用:

        當mandatory標志位設置為true時,如果exchange根據自身類型和消息routingKey無法找到一個合適的queue存儲消息,那么broker會調用basic.return方法將消息返還給生產者;當mandatory設置為false時,出現上述情況broker會直接將消息丟棄;通俗的講,mandatory標志告訴broker代理服務器至少將消息route到一個隊列中,否則就將消息return給發送者;

到此,關于“RabbitMq消息發送確認有哪些注意事項”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

杭州市| 那坡县| 甘肃省| 沙坪坝区| 曲麻莱县| 临颍县| 岳池县| 互助| 徐水县| 库伦旗| 合江县| 葵青区| 错那县| 贺兰县| 库伦旗| 成武县| 特克斯县| 文山县| 新源县| 清水河县| 都江堰市| 伊川县| 晋宁县| 定襄县| 滦南县| 余江县| 开远市| 米泉市| 诸城市| 于田县| 措勤县| 山西省| 海伦市| 永州市| 特克斯县| 星子县| 嘉定区| 元阳县| 白朗县| 个旧市| 荣成市|