When I had a lot of components in my servicemix.xml and I'm using JMS/JCAFlow the program creates a lot of threads (~2000).
If I change the flow to SEDA it reduces to ~150 threads.
It seems that SMX creates queues for all the components, how I can configure SMX or ActiveMQ so I can have less threads been created.
For each component, the JCA flow will allocate a thread pool. You can safely reduce the amount of threads allocated for each component. In the servicemix.xml configuration file, use the following snippet:
You should be able to reduce the number of threads used by the JCA flow this way.
Edited by: gnodet on Mar 27, 2008 8:41 AM
The tunable variables (corePoolSize, maximumPoolSize, queueSize) for the ServiceMix thread pool are available in the servicemix.properties file.