<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] # 生產者確認 ? 當消息的生產者將消息發送出去之后,消息到底有沒有正確的到達服務器呢?如果不進行特殊配置,默認情況下發送消息這個操作是不會返回任何信息給生產者的,也就是默認情況下生產者不知道消息有沒有正確地到達服務器。 RabbitMQ 針對這個問題,提供了兩種解決方案: * 通過事務機制實現; * 通過發送方確認機制實現 # 事務機制 ?`RabbitMQ`客戶端提供了與事務機制的三個方法:channel.txSelect()、channel.txCommit() 和 channel.txRollback()。`事務機制`跟數據庫事務**`不一樣`**,這種事務是為了保證消息被`RabbitMQ`接收,如果事務提交成功,那么消息一定被`RabbitMQ`接收。提交之前如果報錯,我們便可以將它捕獲,進而通過執行 channel.txRollback() 方法來實現當前 channel 事務的回滾 ~~~ try { channel.txSelect(); channel.basicPublish(exchange, routingKey, MessageProperties.PERSISTENT_TEXT_PLAIN, msg.getBytes()); int result = 1/0; channel.txCommit(); } catch(Exception e) { e.printStackTrace(); channel.txRollback(); } ~~~ **缺點:** 嚴重降低了`RabbitMQ`的消息吞吐量 # 發送方確認機制 ?`RabbitMQ`的事務機制在性能上得不到保證,所以引入了一種輕量級的方式 —— 發送方確認(publisher confirm)機制。該機制可以彌補`事務機制`的缺陷,提高了整體的吞吐量。使用 SrpingBoot 整合 RabbitMQ,如何實現發送方確認機制呢? 1. **application.yml**文件需要啟用`publisher-confirms`、`publisher-returns` 2. 在`RabbitMQ`配置類中,自定義`RabbitTempalte`,設置`setMandatory(true)`,否則消息路由失敗不會回調 ReturnCallback;通過調用`setConfirmCallback()`、`setReturnCallback()`傳入它們的實現
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看