亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

activemq與spring整合,配置消費者監(jiān)聽器設(shè)置sessionAcknowledgeMode

LiuRhoRamen / 2912人閱讀

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

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

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

  
  
  
  
          
          
        
        
 

但這樣設(shè)置是無效的,請看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);
}

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

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/66802.html

相關(guān)文章

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

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

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

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

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

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

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

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

    Doyle 評論0 收藏0
  • 慕課網(wǎng)_《Java消息中間件》學(xué)習(xí)總結(jié)

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

    twohappy 評論0 收藏0

發(fā)表評論

0條評論

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