活动MQ超时时间

时间:2015-06-25 12:52:21

标签: c++ activemq activemq-cpp

我在linux端使用activemq-cpp库创建一个监听器。但是,Windows端的java activemq代理(服务器在Windows上运行)会在30秒后中断连接。

错误消息是:

Transport Connection to : tcp://x.y.z.w failed: InactivityIOException: Channel was inactive for too <30000> long: tcp://x.y.z.w:12345

现在根据activemq文档我尝试了以下内容:

  1. 创建连接时将连接URL设置为以下内容: "tcp://x.y.z.w:61616?transport.useInactivityMonitor=false"/>
  2. 在activemq.xml文件中,我设置了以下内容

    <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?wireFormat.maxInactivityDuration=0;maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600;transport.useInactivityMonitor=false"/>

  3. 但是,在 30 秒后我仍然断开连接。

    我还缺少更多设置吗?

2 个答案:

答案 0 :(得分:1)

问题解决了。 maxInactivityDuration=0只应在activemq.xml文件中设置。

delimiter中的url选项为:&amp;而不是&

答案 1 :(得分:1)

您也可以使用socket.useInactivityMonitor = false。这需要在客户端和服务器端完成。