L.S., The current release version of the servicemix-camel JBI component is only capable of sending JBI exchanges synchronously. This means that in your scenerio, the first thread (the one that handles the incoming exchange to jbi:http-message-consumer) is blocked when the route does a sendSync to jbi:A. Especially if you have a few Camel routes chained together with jbi: endpoints, you quickly end up needing a lot of threads to handle a single flow. The only way to solve this at the moment is by increasing the thread pool size.
With Camel 2.4.0, Camel itself will get improved support for asynchronous message handling and we're upgrading our servicemix-camel component to leverage these improvements to fix the problem you're experiencing (cfr. https://issues.apache.org/activemq/browse/SMXCOMP-770). With these changes, we now have a unit test (cfr. http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-camel/trunk/src/test/java/org/apache/servicemix/camel/AsyncJbiMessagingTest.java?view=markup&pathrev=958366) to ensure we can handle this kind of situations, even with a very limited thread pool size. Regards, Gert Vanthienen ------------------------ Open Source SOA: http://fusesource.com Blog: http://gertvanthienen.blogspot.com/ On 9 June 2010 23:27, crankydillo <[email protected]> wrote: > Hi, > > Assume that I'm sending InOut exchanges through the following Camel route: > > from("jbi:http-message-consumer").to("jbi:A").to("jbi:B") > > How many threads are required to complete the exchange? > > We've ran across some blocking issues when having too many JBI endpoints in > a route. > > Thanks. >
