解析ActiveMQ的使用說明總結(jié)
更新時間:2013年05月16日 15:00:24 作者:
本篇文章是對ActiveMQ的使用進行了詳細的分析介紹,需要的朋友參考下
本文只針對ActiveMQ常見的一些問題進行介紹。關(guān)于如下下載、編譯、部署、使用等基本應(yīng)用不在本文范圍內(nèi)。
1、ActiveMQ支持消息過濾設(shè)置規(guī)則和用法
selector支持下列幾種方式:
(1) String literals: "color ='blue'"
(2) Byte strings: “myBytes <> "0X0AFC23"”
(3) Numeric values: "NoltemsInStock > 20"
(4) Boolean literals TRUE or FALSE: "AcctDetails=TRUE"
(5) Composite expressions: "Type='car' AND (color = 'blue' OR color ='green') AND weight> 2500"
使用方式:
(1)創(chuàng)建生產(chǎn)者在send函數(shù)之前添加過濾屬性:
(2)在創(chuàng)建消費者createConsumer時進行如下設(shè)置:
2、錯誤:Channel was inactive for too long (服務(wù)器消息較長時間沒有消息發(fā)送時,客戶端會報這個錯誤)
解決方法:在建立連接的Uri中加入: wireFormat.maxInactivityDuration=0
3、采用failover方式連接導(dǎo)致卡死
解決方法:不采用failover連接
4、ActiveMQ發(fā)送模式
(1)ActiveMQ異步發(fā)送,只需新增參數(shù)transport.useAsyncSend=true,具體如下:
(2)ActiveMQ同步發(fā)送,只需新增參數(shù)transport.useAsyncSend=false,具體如下:
5、錯誤:The Session is closed(網(wǎng)絡(luò)異常時客戶端會報出這個錯誤)
解決辦法:在建立連接的Uri中加入: maxReconnectDelay=10000
maxReconnectDelay 最大重連間隔
6、ActiveMQ負責(zé)均衡
對broker采取了負載均衡和基于共享文件系統(tǒng)的主備配置,這個時候,客戶端生產(chǎn)者和消費者的URI中用
failover:(tcp://192.168.1.117:61616,tcp://192.168.1.118:61616,tcp://broker3:61616)
6、ActiveMQ的ACK設(shè)置
根據(jù)不同的需要可以將ACK設(shè)置為Session::CLIENT_ACKNOWLEDGE 或 Session::AUTO_ACKNOWLEDGE 默認為Session::AUTO_ACKNOWLEDGE 如:
if( clientAck )
{
session = connection->createSession( Session::CLIENT_ACKNOWLEDGE);
}
else
{
session = connection->createSession( Session::AUTO_ACKNOWLEDGE);
}
7、ActiveMQ的Topic設(shè)置
根據(jù)不同的需要可以將Topic設(shè)置為Topic或 Queue默認為Queue 如:
if(useTopic)
{
}
else
{
}
8、ActiveMQ的DeliveryMode設(shè)置(生產(chǎn)者時設(shè)置)
根據(jù)不同的需要可以將DeliveryMode設(shè)置為DeliveryMode::NON_PERSISTENT或 DeliveryMode::PERSISTENT默認為DeliveryMode::NON_PERSISTENT 如:
if(usePersistent)
producer->setDeliveryMode( DeliveryMode::PERSISTENT);
producer->setDeliveryMode( DeliveryMode::NON_PERSISTENT);
{
}
else
{
}
相關(guān)文章
C++實現(xiàn)LeetCode(116.每個節(jié)點的右向指針)
這篇文章主要介紹了C++實現(xiàn)LeetCode(116.每個節(jié)點的右向指針),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-07-07