Michael Faber [http://community.jboss.org/people/michael.faber] created the 
discussion

"WorkerThread Reutilisation and JMS [JBoss 5.1]"

To view the discussion, visit: http://community.jboss.org/message/608766#608766

--------------------------------------------------------------
Hi JBoss Community,

i am having some configuration problems with JMS and the corresponding 
WorkerThreads from the ThreadPool.

I experienced some OutOfMemory exceptions when running some bigger batch jobs 
on the server side that are triggered using JMS. Looking at the application 
with the VisualVM tool i saw that JBoss is spawning a big amount of 
WorkerThreads (up to 100, which is the default configuration value) which 
process the JMS messages.
Since the configuration for JMS is to work with max 15 concurrent threads, i 
would expect JBoss to resuse old WorkerThreads, if there is one available in 
state "waiting" (i.e. a WorkerThread already spawned, that completed 
processing). The result i got is, that JBoss starts reusing old threads only if 
the limit of configured WorkerThreads is reached, i.e. if 100 WorkerThreads are 
started, JBoss will use an existing Thread for the next JMS message, since it 
is not allowed to spawn a new one.
Therefore we have a lot of 'idle' WorkerThreads that consume memory which lead 
to the OOM exception in the end. As a workaround i can limit the size of the 
WorkerThreadPool, however i was wondering if this is the wanted behaviour for 
the application server.

I had a look around Google and found some JBoss WorkerThread issues with JMS 
when Connections/Sessions/Senders are not closed ( 
http://community.jboss.org/message/157561#157561 
http://community.jboss.org/message/157561). I checked the code to send messages 
to JMS for this issue, however these suggestions did not help to reuse 
WorkerThreads in my case. 

Hence, the following questions:

1) Is the issue described in the thread above still an issue in JBoss 5.1 ?
2) Is the described behaviour (the full utilisation of all possible 
WorkerThreads) the wanted behaviour or should old WorkerThreads be reutilized 
by JBoss before spawning new ones ?
3) Is there any configuration i missed that i can use to configure JMS or the 
JBoss behaviour on this part ?

Any feedback is appreciated, thanks for your time.
Michael
--------------------------------------------------------------

Reply to this message by going to Community
[http://community.jboss.org/message/608766#608766]

Start a new discussion in Performance Tuning at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2078]

_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to