Thanks Rob for your reply. We were discussing the problem today over coffee, and I suppose I had always used it in a fashion similar to a JDBC connection.
I have changed my code to use a single producer for all sending, however on the server over time I still notice that the memory statistics seem to grow (in the MemoryUsage log statements) and don't seem to go down, even when I turn clients off. I should explain a little more about my application, it's a thick client (so it isn't running inside an application server) and the messages will be arriving in bursts while a user is using the application, but the application may not be fired up for several days/weeks. I have had to disable the inactivity timer for the TCP connections as I can't seem to get the queues and topics to work correctly once the inactivity monitor has closed the connections. Is there any way I can get the ActiveMQ internals to release resources once a client has disconnected? The memory usage seems to grow to around 100 and then will stop accepting any further messages. Thankyou for your help! Aidan -- View this message in context: http://www.nabble.com/What-is-best-practice-for-creating-Producers--tp16760359s2354p16763388.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.