camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Willem Jiang <>
Subject Re: Using ExchangePattern.InOut blocks request queue
Date Sun, 28 Sep 2008 00:58:18 GMT

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.



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?

View raw message