解析ActiveMQ的使用说明总结

论坛 期权论坛 脚本     
niminba   2021-5-23 04:56   1542   0
本文只针对ActiveMQ常见的一些问题进行介绍。关于如下下载、编译、部署、使用等基本应用不在本文范围内。
 
1、ActiveMQ支持消息过滤设置规则和用法
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)创建生产者在send函数之前添加过滤属性:
  message->setStringProperty("Color",pColor);
  producer->send(message);
(2)在创建消费者createConsumer时进行如下设置:
  std::string MessageFilter="color ='blue'"
  m_pConsumer = m_pSession->createConsumer(m_pDestination, m_MessageFilter);
  m_pConsumer->setMessageListener(this);
 
 
2、错误:Channel was inactive for too long (服务器消息较长时间没有消息发送时,客户端会报这个错误)
解决方法:在建立连接的Uri中加入: wireFormat.maxInactivityDuration=0
 
3、采用failover方式连接导致卡死
解决方法:不采用failover连接
 
4、ActiveMQ发送模式
(1)ActiveMQ异步发送,只需新增参数transport.useAsyncSend=true,具体如下:
      BrokerUri = "tcp://127.0.0.1:61616?transport.useAsyncSend=true"
(2)ActiveMQ同步发送,只需新增参数transport.useAsyncSend=false,具体如下:
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1060120
帖子:212021
精华:0
期权论坛 期权论坛