We are experiencing an issue when we have queues that do not have a lot of traffic, and the consumers of those queues are "slow".
With inactivityMonitor on, when there are no new messages on a queue for a day or two, the connection will be closed even though we have useKeepAlive=true. The problem is when the subscriber attempts to reconnect we get an error "the channel has been inactive for too long" and it can't establish the connection.
With inactivityMonitor off this problem goes away for some reason. However an even bigger problem crops up. We get hundreds of EOF exceptions (ie client disconnects) a day in the ActiveMq log. These disconnects are causing message redelivery since they happen between the time when the subscriber receives the message and when it has returned an ACK. This causes the message to be processed twice.
Does anyone have any suggestions? Have you seen this behavior before?