I am using persistent messages. I have not mucked with any of the backing or
memory options, so thats all stock.

The way I have this working right now is (on the consumer side):

Consumer creates IMessageConsumer on ActiveMQ.Advisory.Queue
Consumer uses Listener += method

when I get a Queue Add advisory:

Consumer creates IMessageConsumer on new queue
Consumer creates IMessageConsumer on
AdvisorySupport.GetProducerAdvisoryTopic(newQueue);
Both IMessageConsumers use Listener += method

When I get a Queue Remove advisory:

both IMessageConsumers use Listener -= method
both IMessageConsumers .Close() and .Dispose()

In the ProducerAdvisory listener, if I get a producer removed message, I:

both IMessageConsumers use Listener -= method
both IMessageConsumers .Close() and .Dispose()
queue is deleted via _session.DeleteQueue(strQueue);

On the producer side:

Producer creates a "permanent" queue (MachineName+GUID) -- the consumer will
get notified when this queue is created and start listening on it

Producer creates a temporary queue (response queue)

Producer submits messages with the reply to address = the temporary queue


Messages are typically 1MB to 2MB. Are you suggesting that I should switch
the response queue to be a permanent queue?




--
View this message in context: 
http://activemq.2283324.n4.nabble.com/Memory-leak-tp4666300p4666407.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to