我使用默认配置的ActiveMQ版本5.10.0。 Active MQ传输协议的文档说默认情况下,wireFormat.maxInactivityDuration为30000,默认情况下启用transport.useKeepAlive。
这是否意味着对于默认配置,永远不会发生不活动超时? as keepAlive消息是否默认启用并发送?
我试过让我的队列闲置一天,但我没有看到任何不活动超时日志。
但activeMQ页面也说 "使用默认值;如果没有数据写入或从连接中读取30秒,InactivityMonitor将启动.InactivityMonitor抛出InactivityIOException并关闭与连接关联的传输。"
答案 0 :(得分:1)
当连接中断或代理遇到无法响应客户端将发送它的ping请求的问题时,将发生不活动超时。超时与消息不活动等无关,而是与客户端和代理之间的ping / pong类型听力有关。只要代理是健康的并且发送所请求的响应,即使没有消息恰好流过它,客户端也不会终止连接。