ActiveMQ Channel was inactive for too (>30000) long

发现MQ周期性的报Channel was inactive for too (>30000) long问题。ActiveMQ有一个InactiveMonitor线程,用来检查连接是否活跃,如果不活跃则会关闭它。
默认的检查周期是30s。

具体可以参考ActiveMQ的官方文档:http://activemq.apache.org/activemq-inactivitymonitor.html

解决办法:
1.在transport上配置wireFormat.maxInactivityDuration=0
2.设置transport.useInactivityMonitor=false

这里用的是第二种,第一种没用,不知道什么原因。

1
2
3
4
<transportConnectors>
<!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
<transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600&amp;transport.useInactivityMonitor=false"/>
</transportConnectors>

Donny wechat
欢迎关注我的个人公众号
打赏,是超越赞的一种表达。
Show comments from Gitment