Thanks, your reply seems consistent with what I am seeing in the heap dump (see heapAnalyzer screenshot attached to the initial post). I am still unclear how are the dead messages cleaned up (if ever). I ran a new scenario where I had 4 SpringConsumerWithReply processes and a single ProducerWithReply process which I start in a shell's endless for-loop. for i in (1 .. 1000000000) do java -jar producer-w-consumer.jar tcp://0.0.0.0:61616 serviceQ 100000 500000 done
I run the script and keep killing ProducerWithReply process which gets launched again. I dont touch any of the SpringConsumerWithReply processes. After a short while the broker OOMs. Given the above scenario, is it expected that the broker OOMs? I know that it OOMs due to messages destined for temp queues which no longer exist. How should the ProducerExchange instances be cleaned up? Should the SpringConsumerWithRep close a Session or Connection to a destination that it thinks is no longer used? Is closing the Session enough to purge ProducerExchange from the broker? -Jerry C -- View this message in context: http://activemq.2283324.n4.nabble.com/Broker-Leak-tp4660437p4660513.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.
