java多線程activemq,多線程JMS客戶端ActiveMQ

我正在使用以下代碼創建多個JMS會話,以供多個使用者使用消息。我的問題是代碼以單線程方式運行。即使消息存在于隊列中,第二個線程也無法接收任何內容,而是繼續輪詢。同時,第一個線程完成對第一批的處理,然后返回并使用剩余的消息。這里的用法有什么問題嗎?

static {

try {

ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://172.16.143.99:61616");

connection = connectionFactory.createConnection();

connection.start();

} catch (JMSException e) {

LOGGER.error("Unable to initialise JMS Queue.", e);

}

}

public JMSClientReader(boolean isQueue, String name) throws QueueException {

init(isQueue,name);

}

@Override

public void init(boolean isQueue, String name) throws QueueException

{

// Create a Connection

try {

// Create a Session

session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

if (isQueue) {

destination = new ActiveMQQueue(name);// session.createQueue("queue");

} else {

destination = new ActiveMQTopic(name);// session.createTopic("topic");

}

consumer = session.createConsumer(destination);

} catch (JMSException e) {

LOGGER.error("Unable to initialise JMS Queue.", e);

throw new QueueException(e);

}

}

public String readQueue() throws QueueException {

// connection.setExceptionListener(this);

// Wait for a message

String text = null;

Message message;

try {

message = consumer.receive(1000);

if(message==null)

return "done";

if (message instanceof TextMessage) {

TextMessage textMessage = (TextMessage) message;

text = textMessage.getText();

LOGGER.info("Received: " + text);

} else {

throw new JMSException("Invalid message found");

}

} catch (JMSException e) {

LOGGER.error("Unable to read message from Queue", e);

throw new QueueException(e);

}

LOGGER.info("Message read is " + text);

return text;

}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/534837.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/534837.shtml
英文地址,請注明出處:http://en.pswp.cn/news/534837.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python cnn 實例_基于CNN的紋理合成實踐【附python實現】

Q0: Preliminary knowledge of Texture SynthesisBaseline請見此處,下文所有的代碼修改均建立此代碼基礎之上。1. 紋理合成簡述?紋理合成(Texture Systhesis)技術主要應用于計算機圖形學等領域,被用于模擬幾何模型的表面細節、增強繪制模型的真實感。不…

php使用jasperreport,php-報表引擎指南(Pentaho,JasperReports,BIRT)

我在各種論壇和他們的網站上花費了大約4-5個小時,研究可以幫助我發展的報告工具.我是使用這種工具的新手,可以使用一些特定的指導.我正在開發一個Web應用程序,該應用程序將托管在一臺服務器上,但是多個用戶可以通過登錄進行訪問.每個用戶將擁有自己的帳戶,并且只能訪問僅與與其…

python中dlib庫_python 基于dlib庫的人臉檢測的實現

本周暫時比較清閑,可以保持每日一更的速度。國外身份證項目新增需求,檢測出身份證正面的人臉。最開始考慮mobilenet-ssd,經同事提醒,有現成的人臉庫dlib,那就用傳統方法嘗試一下。dlib安裝dlib的安裝小費一波周折&…

php養老院管理系統,XYCMS養老院建站系統 v3.8

XYCMS養老院建站系統是一個專為養老院而設計的養老院建筑系統。中心信息管理:包括基本信息管理,添加,問答中心信息管理新聞動態管理:管理新聞信息內容,管理相關分類,添加或者刪除生活環境內容管理&#xff…

php 修改文件訪問時間,PHP中獲取文件創建日期、修改日期、訪問時間的方法

php獲取文件創建時間、修改時間常用代碼filemtime ( string filename )返回文件上次被修改的時間,出錯時返回 FALSE。時間以 Unix 時間戳的方式返回,可用于 date()。例如:$afilemtime("log.txt");echo "修改時間:&…

超過響應緩沖區限制_Nginx如何限制并發連接數和連接請求數?

全網最全1500份Java學習資料、500份BAT面試真題:關注公眾號,輸入“面試題”,獲取提取碼!首先講解兩個算發:算法思想是:令牌以固定速率產生,并緩存到令牌桶中;令牌桶放滿時&#xff0…

Php公鑰加密data是空,php 生成加密公鑰加密私鑰實例詳解

php 生成加密公鑰加密私鑰實例詳解生成公鑰私鑰 win下必須要openssl.cof支持 liunx一般已自帶安裝$config array(//"digest_alg" > "sha512","private_key_bits" > 512, //字節數 512 1024 2048 4096 等"private_key_type" >…

python句柄無效_subprocess.Popen 運行windows命令出現“句柄無效”報錯的解決方法

【代碼筆記】iOS-關于UIFont的一些define一,效果圖. 二,工程圖. 三,代碼. RootViewController.h #import interface RootViewController ...JQuery Datatables Dom 和 Language 參數詳細說明http://linleizi.iteye.com/blog/2086435 *********************************** Data …

java日期函數精確到日,java日期時間函數分享

前言:對于新手程序員的我來說,寫業務代碼是現在的日常,在此過程中經常需要對日期時間進行處理,我挑了幾個較有用的日期處理函數分享給大家。正文:1、將某格式的時間字符串轉化成毫秒時間戳表示的字符串:pub…

python變量區變量保存與加載_python – Flask:使用全局變量將數據文件加載到內存中...

我有一個大的XML文件,它被打開,加載到內存中,然后由Python類關閉.簡化示例如下所示:class Dictionary():def __init__(self,filename):f open(filename)self.contents f.readlines()f.close()def getDefinitionForWord(self,word):# returns a word,using etree p…

php 順豐接口實例,順豐BSP接口PHP開發注意事項

1&#xff0c;xml報文不用附加"<?xml version"1.0" encoding"UTF-8" ?>"&#xff0c;不支持&#xff0c;會報格式錯誤。2&#xff0c;提交服務器時要重點注意。直接使用curl方式的&#xff0c;一定要把數據做http_build_query&#xff0…

跨域產生的原因和解決方法_板式家具開料機加工過程產生崩邊原因及解決方法...

家具廠數控開料機加工材料的時候會遇到材料崩邊的問題&#xff0c;下面我們系統的分析下產生的原因以及解決的辦法產生崩邊現象的原因&#xff1f;其一是材料本身問題。目前除了實木家具&#xff0c;目前使用較多的就是 板式貼皮的材料&#xff0c;板材的優點就是標準化生產&am…

facade 門面 php,php設計模式之門面(Facade)模式

該模式屬于結構型模式什么是門面模式&#xff1f;定義&#xff1a;門面模式(有時候也稱為外觀模式)是指提供一個統一的接口去訪問多個子系統的多個不同的接口&#xff0c;它為子系統中的一組接口提供一個統一的高層接口。外部與子系統的通信是通過一個門面(Facade)對象進行。其…

架構師一般做到多少歲_《迷茫中的我們該如何突破瓶頸——成長為一名架構師》...

如何成長為一名架構師&#xff1f;架構師是一個既需要掌控整體又需要洞悉局部瓶頸并依據具體的業務場景給出解決方案的團隊領導型人物。一個架構師得需要足夠的想像力,能把各種目標需求進行不同維度的擴展&#xff0c;為目標客戶提供更為全面的需求清單。很多程序員想成為一名架…

php-fpm初始化失敗,FPM的初始化 - [ PHP7的內核剖析 ] - 在線原生手冊 - php中文網

FPM的初始化接下來看下fpm的啟動流程&#xff0c;從main()函數開始&#xff1a;//sapi/fpm/fpm/fpm_main.cint main(int argc, char *argv[]){... //注冊SAPI:將全局變量sapi_module設置為cgi_sapi_modulesapi_startup(&cgi_sapi_module);... //執行php_module_staru…

python 高級語言特性_Pytohon學習筆記(一)Python編程語言歷史及特性

Python編程語言歷史及特性編程語言:用戶:問題空間計算機: 解決問題解空間抽象機器代碼-->微碼編程-->高級語言shell編程:ptyhon控制語言:膠水語言適合領域:web,Django字節碼:bytecode面向過程:以指令為中心&#xff0c;由指令處理數據 如何組織代碼結局問題面向對象:以數…

php laravel 返回統一格式,封裝的統一的Laravel響應類,返回數據類

封裝的統一的Laravel返回數據類namespace App\Library;class Response{const OK 0;const BAD_REQUEST 1000;const PARAM_ERROR 1001;const SQL_ERROR 4000;const FORBIDDEN 4003;const SERVER_ERROR 5000;public static $errMsg [self::BAD_REQUEST > 請求錯誤,self:…

python3連接數據庫步驟_Python3連接Mysql8.0遇到的問題及處理步驟

最近在使用Python開發系統&#xff0c;需連接mysql數據庫&#xff0c;我用的是Python3連接MySQL8.0&#xff0c;其中老是報錯以下問題&#xff1a;網上給了各種各樣的方法&#xff0c;大多是通過各種方式修改密碼。最簡單的方法是更換了root密碼的認證方式解決的&#xff0c;新…

360手柄搖桿漂移修復_徹底解決你的Switch手柄搖桿問題,最省錢的完美修復。

我想很多Switch的消費者都遇到了一個問題&#xff0c;用久了之后的手柄失靈&#xff0c;移動不精準&#xff0c;卡頓&#xff0c;自動位移等現象。玩個游戲都非常的糟心。動一下搖桿角色都會自動移動...這些問題的出現主要原因是搖桿內部進了灰塵&#xff0c;才導致各種現象的出…

libzdb 連接mysql,數據庫連接池庫libzdb使用教程

Libzdb挺強大&#xff0c; 支持Mysql Oracle SQLite PostgreSQL&#xff0c;支持C和C Object C&#xff0c;不能在Window下用(看源碼是因為基于Linux線程機制編寫實現)。遺憾的是找個資料太費勁&#xff0c;只能到Libzdb官網&#xff1a;點此進入 &#xff0c;今正看著上面英文…