1

我正在使用 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"/>

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

我还缺少更多设置吗?

4

2 回答 2

1

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

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

于 2015-06-25T14:40:09.403 回答
1

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

于 2015-07-30T05:18:45.720 回答