6.3. 检测死连接
只要它从代理接收数据,客户端会认为连接处于活动状态。通过为 client-failure- check-period 属性提供值,将客户端配置为 检查其故障的连接。网络连接的默认检查周期为 30,000 毫秒或 30 秒,而 in-VM 连接的默认值为 -1,这意味着如果未收到数据,客户端永远不会从其端连接失败。
通常,您可以将检查周期设置为小于用于代理连接时间的值,这样可确保客户端在临时失败时可以重新连接。
为检测死连接设置检查周期
以下示例演示了如何将检查周期设置为 10,000 毫秒。
流程
如果您使用的是 JNDI,请在 JNDI 上下文环境中设置检查周期,例如
jndi.properties。java.naming.factory.initial=org.apache.activemq.artemis.jndi.ActiveMQInitialContextFactory connectionFactory.myConnectionFactory=tcp://localhost:61616?clientFailureCheckPeriod=10000如果您不使用 JNDI,请通过将值传递给
ActiveMQConnectionFactory.setClientFailureCheckPeriod ()来直接设置检查周期。ConnectionFactory cf = ActiveMQJMSClient.createConnectionFactory(...) cf.setClientFailureCheckPeriod(10000);