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);
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.