我正在使用 ActiveMQ 5.15.4,我的代理配置为 openwire 连接,如下所示:
<transportConnector name="openwire" uri="tcp://0.0.0.0:24510?transport.useInactivityMonitor=false&transport.keepAlive=true"/>
...以确保我在 TCP 或 ActiveMQ 级别都没有超时。然后我的 ActiveMQ-cpp-3.9.4 客户端连接到以下故障转移 URL:
failover://(tcp://amq:24510)?soKeepAlive=true&wireFormat.maxInactivityDuration=0
...以确保如果网络中断导致传输失败,客户端将自动重新连接。
客户端建立其初始连接并在几个“传输失败/传输恢复”故障转移周期中幸存下来,但始终如一地在几分钟内遇到无法恢复的传输故障(尽管网络正在恢复并且代理和客户端继续运行)。
客户端不发送任何消息,它只是订阅一个没有消息的主题。感觉像是超时,但我的理解是我的上述配置不应该发生超时。
任何想法为什么我的客户在失败后可能无法恢复传输?