I am using ActiveMQ 5.15.4, with my broker configured for openwire connections like so:
<transportConnector name="openwire" uri="tcp://0.0.0.0:24510?transport.useInactivityMonitor=false&transport.keepAlive=true"/>
... to ensure that I get no timeouts at either the TCP or ActiveMQ level. Then my ActiveMQ-cpp-3.9.4 client connects with the following failover url:
failover://(tcp://amq:24510)?soKeepAlive=true&wireFormat.maxInactivityDuration=0
... to ensure that if a network hiccup causes a transport failure, the client will reconnect automatically.
The client makes its initial connection and survives several "transport failure/transport resumed" failover cycles, but consistently, within a couple of minutes it hits a transport failure that it does not recover from (despite the network being restored and both the broker and client continuing to run).
The client does not send any messages, it just subscribes to a topic on which no messages come it. It feels like a timeout, but my understanding is that a timeout should not occur with my above configuration.
Any ideas why my client might not be resuming transport after the failure?