如何检测ActiveMQ订阅服务器中的连接丢弃

时间:2014-05-06 19:52:20

标签: activemq message-queue publish-subscribe messagebroker

我在ActiveMQ Pub / Sub实现中遇到了以下情况。如果与消息代理的连接丢失,则发布者可能会重新尝试建立连接,因为发布方法会抛出异常。

但是,如果在订阅者端丢失了与消息代理的连接,则订户将不知道它。如果会话到期,这将是相同的。

建议的解决方案: 我认为其中一个解决方案是在订户端实现心跳,以定期将ping消息发布到单独的主题,以便订户可以知道连接是否被丢弃。这样可以正常工作,但缺点是系统中可用的订户生成的ping消息数量。我认为第二个选项是实现心跳以尝试在间隔中创建连接。 WDYT?

您是否看到了实施此方法的更好方法?欣赏你的想法。

1 个答案:

答案 0 :(得分:1)

使用ActiveMQ Failover传输并且不禁用不活动监视器,客户端将检查连接并根据需要自动重新连接。如果没有关于您设置的更多信息,那就是最佳答案。