I did a prototype with Camel and so far it looks amazingly simple (in terms
of how much code/config it took) and powerful.

Unless there are hidden issues down the road, Camel just rocks.

Pavel
On Sun, Oct 4, 2009 at 4:24 PM, Pavel <[email protected]> wrote:

> Christian - thanks a lot for response.
>
> I was looking into both 2.2 and 2.2.3 sources and it seems like correlation
> map is always populated for anything but one-way exchanges:
> correlationMap.put(correlationId, exchange); <<< all logic branches except
> one way call this
>
> Also I see how sendExchange() calls JMSFactory.createJmsListener() that
> would create a brand new DefaultMessageListenerContainer per exchange. I
> wonder if thread settings would be effective with that approach.
>
> And while I see trunk has changed that to jmsTemplate.receiveSelected(), I
> realize one conceptual problem is still there: even if correlation part is
> solved, application still needs to send something in order to receive
> something.
>
> With clustered client and possible node failures in mind, I think I won't
> be able to use async implementation as is.
>
> So my options are
> * customize CXF client, like what I did. And the more I look at it the more
> I realize I extended part that was not designed for extension. I get ability
> to leverage JMS endpoint on server side though for free.
>
> * Use 2 two-way clients as you suggested. I'll look into other options
> first, as there are service consumers that would still want to call it
> synchronously.
>
> * Give up on the idea to reuse SOAP over JMS on server side and create
> another invocation layer (IL), like Camel-backed one you advised. It
> probably would be the best option, assuming that
>   - it is possible to route all messages to original web service
> implementor, even though IL has changed
>   - Exceptions/faults are somehow delivered to client too.
>   - (Optional, but nice to have) JAXB context is borrowed from endpoint
> metadata.
>
> Is it something Camel could do?
>
> Thanks a lot for your help!
> Pavel
>
>

Reply via email to