camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Willem Jiang <>
Subject Re: TransformerProcessor doesn't deal with MEP( Why we need InOnly?)
Date Thu, 14 Oct 2010 06:17:33 GMT

Please see my comments in the mail.

On 10/14/10 1:54 PM, ext2 wrote:
> Thanks a lot;
> Yes, you are right ;if output is present , it always means result, no matter
> what the MEP is;
> But this confused my understanding about the exchange pattern;Why we need
> the InOnly pattern?  Only for performance reason?
No, it's related to the component or the transport we use.
Normally, for the Http transport it always has a request/response 
message, for the JMS we could use fire and forget InOnly MEP by default.
> If we has no such many patterns, event we didn't define the MEP for camel,
> And we just determine the result by the out message exist or not. Things
> will be more simply for the end-user;

Camel just want to be more smart to get the message, but if you know 
this principle you will feel easy to understand.
> If the performance is the only reason to introduce the InOnly pattern? If
> so, it's not worth.
I don't think so.
The MEP is based on the WSLD model which is used heavenly on ServiceMix.
If you take a look at the ExchangePattern[1], you will see them.

In most case, we just use InOnly and InOut these two patterns.

> ==========================================================================
> Hadrian Zbarcea wrote:
>> Then there's something wrong with the aggregator, I'd say.
>> The result of processing is always: out if present, otherwise in. Makes
> sense?
>> I hope this helps,
>> Hadrian
>> On Oct 14, 2010, at 12:43 AM, ext2 wrote:
>> I still feel it's a bug; let's give a sample as following:
>> <from uri="direct:start">
>> <multicast ref="some-aggregate">
>> 	<transform A/>
>> 	<bean B/>
>> 	<bean C/>
>> <multicast>
>> While writing the aggregator, how does I know where the result stored, in
> or
>> out message? I can only determine it by exchange pattern;
>> If the route is using InOnly pattern(which is default), the aggregator
> will
>> aggregate In message of Exchange. But the transform will always return out
>> message as result, so the aggregate result isn't correct;
>> ==============================================================
>> Does this [1] explain it?
>> Hadrian
>> [1]
>> On Oct 13, 2010, at 11:51 PM, ext2 wrote:
>>> The Transformer Processor always  set Out Message as result and doesn't
>>> care what MEP being;(At least until version camel 2.4.0, it being so,
>> 2.5.0
>>> I haven't checked)
>>> It seems doesn't confirm to the rules of camel's MEP, why?

Open Source Integration:
Blog: (English)

View raw message