国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

activemq與spring整合,配置消費者監聽器設置sessionAcknowledgeMode

LiuRhoRamen / 2854人閱讀

摘要:最近在研究的消息確認機制,在與整合時遇到的了一個問題。這時只需要把的值設置成自定義的類型即可。

最近在研究activemq的ack消息確認機制,在activemq與spring整合時遇到的了一個問題。
JMS規范的ack消息確認機制有一下四種,定于在session對象中:
AUTO_ACKNOWLEDGE = 1 :自動確認
CLIENT_ACKNOWLEDGE = 2:客戶端手動確認
DUPS_OK_ACKNOWLEDGE = 3: 自動批量確認
SESSION_TRANSACTED = 0:事務提交并確認
但是在activemq補充了一個自定義的ACK模式:
INDIVIDUAL_ACKNOWLEDGE = 4:單條消息確認

如果想設置ack消息確認機制為客戶端手動確認,在spring總配置消費者監聽器的時候,設置sessionAcknowledgeMode的值為2,代碼如下:

  
  
  
  
          
          
        
        
 

但這樣設置是無效的,請看spring類org.springframework.jms.listener.AbstractMessageListenerContainer的一段源碼:

protected void commitIfNecessary(Session session, Message message) throws JMSException {
        // Commit session or acknowledge message.
        if (session.getTransacted()) {
            // Commit necessary - but avoid commit call within a JTA transaction.
            if (isSessionLocallyTransacted(session)) {
                // Transacted session created by this container -> commit.
                JmsUtils.commitIfNecessary(session);
            }
        }
        else if (message != null && isClientAcknowledge(session)) {
            message.acknowledge();
        }
    }
protected boolean isClientAcknowledge(Session session) throws JMSException {
        return (session.getAcknowledgeMode() == Session.CLIENT_ACKNOWLEDGE);
}

就是當設置sessionAcknowledgeMode為2時,雖然是客戶端手動確認,但是卻被spring自動確認了,造成設置無效。這時只需要把sessionAcknowledgeMode的值設置成activemq自定義的類型INDIVIDUAL_ACKNOWLEDGE = 4即可。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/66802.html

相關文章

  • 深入淺出 JMS(七) - ActiveMQ Spring 整合

    摘要:消費者,監聽生產者往指定目的地發送消息后,接下來就是消費者對指定目的地的消息進行消費了。它不會動態的適應運行時需要和參與外部的事務管理。它很好的平衡了對提供者要求低先進功能如事務參與和兼容環境。 深入淺出 JMS(七) - ActiveMQ 與 Spring 整合 一、與spring整合實現ptp的同步接收消息 (1)config.properties ## ActiveMQ Conf...

    NoraXie 評論0 收藏0
  • Spring boot 集成 ActiveMQ

    摘要:安裝到官方網站下載最新的的安裝包,并解壓到本地目錄下,下載鏈接如下。修改消費者使用配置消費者監聽的隊列,其中是接收到的消息收到的報文為接收到的消息重新執行 安裝ActiveMQ 到Apache官方網站下載最新的ActiveMQ的安裝包,并解壓到本地目錄下,下載鏈接如下:http://activemq.apache.org/do...。showImg(https://segmentfau...

    Donne 評論0 收藏0
  • 消息隊列ActiveMQ的使用詳解

    摘要:學習消息隊列的使用之前,我們先來搞清。是操作消息的接口。消息生產者由創建,并用于將消息發送到。接收消息打印結果這是接收到的消息消費者啟動。。。。 通過上一篇文章 《消息隊列深入解析》,我們已經消息隊列是什么、使用消息隊列的好處以及常見消息隊列的簡單介紹。 這一篇文章,主要帶大家詳細了解一下消息隊列ActiveMQ的使用。 學習消息隊列ActiveMQ的使用之前,我們先來搞清JMS。 J...

    niceforbear 評論0 收藏0
  • Spring Boot 參考指南(消息傳遞)

    摘要:還自動配置發送和接收消息所需的基礎設施。支持是一個輕量級的可靠的可伸縮的可移植的消息代理,基于協議,使用通過協議進行通信。 32. 消息傳遞 Spring框架為與消息傳遞系統集成提供了廣泛的支持,從使用JmsTemplate簡化的JMS API到使用完整的基礎設施異步接收消息,Spring AMQP為高級消息隊列協議提供了類似的特性集。Spring Boot還為RabbitTempla...

    Doyle 評論0 收藏0
  • 慕課網_《Java消息中間件》學習總結

    摘要:時間年月日星期六說明本文部分內容均來自慕課網。這個時候,可以啟動多臺積分系統,來同時消費這個消息中間件里面的登錄消息,達到橫向擴展的作用。 時間:2017年07月22日星期六說明:本文部分內容均來自慕課網。@慕課網:http://www.imooc.com教學源碼:無學習源碼:https://github.com/zccodere/s... 第一章:課程介紹 1-1 課程安排 Java...

    twohappy 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<