Hi

Can you show me you route configure file and your client request sending code ?
I checked the ProducerTemplate code , there is no any synchronized token.
According the wiki page[1], the JMS component should support the parallel processing.

[1] http://cwiki.apache.org/CAMEL/parallel-processing-and-ordering.html

Willem


ee7arh wrote:
Hi,

I wonder if anyone can point out where I'm going wrong, maybe I'm missing
something conceptually.

I have a multi-threaded client application which wants to do
request/response with a camel server application and I am trying to use the
ExchangePattern.InOut when calling the sendBody() on the Producer.

The behaviour I am observing is that if say 3 client threads try to call the
sendBody() method at the same time (i.e. try to send a request to the server
and wait for a response), only 1 client thread at a time will be able to do
some processing and the others effectively block until the processing of the
one in front finishes. So rather than processing taking place in parallel,
it takes place sequentially one after the other.

I know that sendBody() with the ExchangePattern.InOut pattern is a
synchronous call, that's fine and how I want it. But I am surprised that the
queue blocks when attempting multi threading because the JMS
request/response pattern described in ActiveMQ makes use of temporary
destinations to send responses back matching back using correlationIds.

Could anybody confirm if my assumptions are correct and if so, what could be
the problem?



Reply via email to