TCP Connections and related thread leak.
Active MQ version 5.8
NMS Client version 1.6
OS - Windows 2008 R2
JDK - 1.7.x
activemq.xml is attached
If a client connectivity gets lost between the time the initial socket is created and the exchange of the wire format, the active MQ server's Client's server thread gets blocked in socket read hanging out the TCP connection and the related thread
Here are the steps to recreate
1. Configure the Active MQ server with the activemq.xml attached.
2. Start the client in a debugger and have a break point at a place in such a way that the client can be disconnected after the socket is established.
3. Once the breakpoint is hit, disconnect the client machine from the network
4. Kill the client- This basically simulates a situation where the socket tear down packets are not reached the active mq server.
5. Open the JConsole. Look for the hanging TCP connection and the related thread.
Is there an configurable option in Active MQ to sweep and close the connections, on regular interval, that still didn't finish the wire protocol negotiation?