Socket error disconnect resource leak
We've got a scenario where our STOMP clients are on a (very bad) cellular connection and they disconnect and reconnect a lot. StompConnect is built around the assumption that client connections are basically permanent until the service is stopped.
I've found a memory leak in the StompConnect code when a network interruption happens. In the run() method on TcpTransport if it gets an error it calls the stop() method. That's all fine, but the thread and socket are never nulled out and the TcpTransportServer is never notified that the transport object choked so the server object keeps it in the transport collection, and that collection never removes anything unless you call stop() on the server object.
I was able to fix the problem by adding a callback to the server object when the transport catches the exception to tell the server object to remove that transport from the collection.