We have a GUI app that creates a queue for every product to communicate with
the server. As a result for every queue, Camel creates 3 threads
(JmsConsumer, JmsReplyManagerTimoutChecker, and TemporaryQueueReplyManager)
so after user adds 200+ products on his GUI, number of threads hits 2K and
OSX won't allow creating more threads per process and JVM throws OOMError,
with "can't create more native threads" message.

In order to solve this problem (without making much code changes), I would
like to use a single ThreadPool that would process work of above 3
threads/product...

*So far I've tried: 
JmsConfiguration myJmsConfiguration = new
JmsConfiguration(aConnectionFactory);
myJmsConfiguration.setTaskExecutor(theTaskExecutor);
myJmsConfiguration.setDefaultTaskExecutorType(DefaultTaskExecutorType.ThreadPool);
return JmsComponent.jmsComponent(myJmsConfiguration);
*
However, above does not work well, with sporadic errors like : 
org.apache.camel.RuntimeExchangeException: Failed to resolve replyTo
destination on the exchange: Exchange[Message: BLAH]

Was wondering if anyone has done something like that before?




--
View this message in context: 
http://camel.465427.n5.nabble.com/Process-several-messages-from-several-JMSEndpoints-with-single-ThreadPool-tp5796093.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to