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

資訊專欄INFORMATION COLUMN

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

LiuRhoRamen / 2861人閱讀

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

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

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

  
  
  
  
          
          
        
        
 

但這樣設(shè)置是無效的,請(qǐng)看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時(shí),雖然是客戶端手動(dòng)確認(rèn),但是卻被spring自動(dòng)確認(rèn)了,造成設(shè)置無效。這時(shí)只需要把sessionAcknowledgeMode的值設(shè)置成activemq自定義的類型INDIVIDUAL_ACKNOWLEDGE = 4即可。

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/66802.html

相關(guān)文章

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

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

    NoraXie 評(píng)論0 收藏0
  • Spring boot 集成 ActiveMQ

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

    Donne 評(píng)論0 收藏0
  • 消息隊(duì)列ActiveMQ的使用詳解

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

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

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

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

    摘要:時(shí)間年月日星期六說明本文部分內(nèi)容均來自慕課網(wǎng)。這個(gè)時(shí)候,可以啟動(dòng)多臺(tái)積分系統(tǒng),來同時(shí)消費(fèi)這個(gè)消息中間件里面的登錄消息,達(dá)到橫向擴(kuò)展的作用。 時(shí)間: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 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<