Description
Maybe not the most logical client code, but it happened here and I guess it will happen somewhere again:
TemporaryQueue reply = session.createTemporaryQueue();
MessageConsumer consumer = session.createConsumer(reply);
Message received = consumer.receive(timeout);
...
reply.delete();
consumer.close();
I've removed try/finally blocks to keep it simple.
See the attached source code.
It works fine, but set
JmsMessageHandler.REVERSE_ORDER=true
and the slave will not be cleaned up properly.
It means that the number of threads is increasing and at some time it will get an OutOfMemoryError (see AMQ-1849) and the slave dies.