My producers used to leak sessions and I could get easily as far as about 16k sessions per producer without much effect on the broker.
What I do now is that I have a pool of worker threads, and each of the threads has its own session opened. Whenever there's a need, I ask the pool to do a Callable job for me. The pool takes the job and runs it within one of the prepared threads, so there's no need to open and discard any new session. I'm not sure if it's the correct approach, but it works fine enough. Jan Dne 21. 12. 2022 20:02 napsal uživatel John Lilley <john.lil...@redpointglobal.com.INVALID>: Greetings! I have noticed that I cannot share a session between threads, at least not when using the JMS API. Because of that, we are creating a new session for every producer. But is that necessary? Can I share that session between all of my producers so long as there is no simultaneous use? I can arrange to lock(session){} when messages are sent. And would reducing the number of sessions save any noticeable amount of resource (time, or broker memory?). We tend to have about 20 producers per process. Thanks John [rg] <https://www.redpointglobal.com/> John Lilley Data Management Chief Architect, Redpoint Global Inc. 888 Worcester Street, Suite 200 Wellesley, MA 02482 M: +1 7209385761<tel:+1%207209385761> | john.lil...@redpointglobal.com<mailto:john.lil...@redpointglobal.com> PLEASE NOTE: This e-mail from Redpoint Global Inc. (“Redpoint”) is confidential and is intended solely for the use of the individual(s) to whom it is addressed. If you believe you received this e-mail in error, please notify the sender immediately, delete the e-mail from your computer and do not copy, print or disclose it to anyone else. If you properly received this e-mail as a customer, partner or vendor of Redpoint, you should maintain its contents in confidence subject to the terms and conditions of your agreement(s) with Redpoint.