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.

Reply via email to