I have a question regarding thread usage when invoking request/reply services over JMS. I'm more familiar with Camel and I wanted to figure out how to do it with Switchyard.
In camel when a JMS to component is invoked with a reply to address the JMS component provides a number of options. One of these options is to use an exclusive queue so that all replies will be read off of this queue.
AFAIK when processing Req/Repl exchanges the camel JMS internals camel place the exchnage correlation id on to a cache as a key with the exchange reference as a value before sending the message.
The underlying control is passed to the JMS component listeners which received a response from the exclusive queue, look up the case and signal the exchange to continue processing.
This has thread usage gains as the thread invoking the JMS component is detached from the processing so it avoid blocking threads when waiting for a reply.
Does switchyard support this kind of processing or should it delegate to a camel route to do this kind of processing.
Apologies if its an obvious question, I'm just getting started with SY.
Are we talking consumer or producer case here? In either case, the camel-jms component is what is used for JMS bindings, so the underlying capabilities are identical.
JCA JMS bindings do not support in-out MEP in SY 1.x, but this feature has been pushed into SY 2.0.