I am doing this experiment in dev and there are no firewalls Here is what I have concluded. KeepAlive comes into play when the channel is inactive. In my scenario the broker kept sending the messages.
After ~10 minutes the connection disappeared from netstat, so broker closed the connections too( in logs) and started delivering all messages to the other active consumer. My theory is that it took ~10 min for tcp to confirm (using send_buffer size and tcp retransmission timeout) that the client is dead and cannot ACK the tcp packets. -- View this message in context: http://activemq.2283324.n4.nabble.com/AMQ-does-not-drop-connection-on-stomp-client-ungraceful-shutdown-tp3639513p3663665.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.