camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Willem Jiang <>
Subject Re: ExchangePattern handling in Camel
Date Thu, 10 Jul 2008 09:17:25 GMT
Hi Gert,

In the default case (for handling JMS message), camel just use the 
ExchangePattern.InOnly,  so it is not surprise for use to see we can set 
the out message in a InOnly exchange.
But in camel-cxf component , we always want to camel's exchange working 
in InOut mode, because we need to set the response back.
I think current CAMEL-688 just add a restriction check for the exchange 
pattern, it cause some side effect on the BeanExpression which need to 
return the value even the exchange is InOnly.
I agree Gert's keeping the camel current behavior, because it simple for 
most case.


Gert Vanthienen wrote:
> L.S.,
> If you look at the comments on CAMEL-688 and some of the others mails 
> on the commits, it looks like it is time we make up our minds what we 
> want to do with ExchangePattern handling inside Camel.  Up to now, the 
> ExchangePattern was there mostly for informational purposes -- e.g. to 
> transfer this information inside Camel when interacting with JBI or 
> CXF exchanges.
> If it is just there for informational purposes however, we should try 
> to avoid implementing other behavior based on the MEP.  For example: 
> for CAMEL-688, we should follow on Claus' suggestion to just use 
> getOut(true) to force the 'out' message to be created.
> On the other hand, if we really want to honor the ExchangePattern 
> inside Camel, the current patch is OK, but we probably also need a lot 
> of other changes.  Just an example: the PipeLine currently sends the 
> incoming exchange to the first target, even if this is an in-only 
> exchange.  If we want to go for strict MEP handling, we should 
> probably change that behavior so it always interacts with it targets 
> in an in-out manner, allowing them to send set the 'out' message content.
> As I said: I think it's time we make up our minds here, because the 
> current situation is just a bit messy.  Personally, I would prefer to 
> keep Camel as lightweight and simple as possible, just keeping the 
> current behavior, where the MEP isn't influencing the behavior.
> Regards,
> Gert

View raw message