You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Claus Ibsen <cl...@gmail.com> on 2010/03/26 06:41:44 UTC

Re: How camel define content of message sent to catch clause ?

On Fri, Mar 26, 2010 at 6:07 AM, ext2 <xu...@tongtech.com> wrote:
>
>
> In camel , try-catch means , if exception occurs , catch-clause will be
> execute.
> And how does camel define : What is message(catch-clause received) 's
> content?
>
> Is the content exactly equals to the processed content where exception just
> occurs?
>
> For pipe line , catch-clause will received a message whose  content which
> will be exactly where exception occurs;
> But for multi-case , catch-clause can only received a message whose content
> is the multi-case's received original message.
>
> So the pipe-line and multi-cast doesn't consistence. Is it the multi-case 's
> bug ? for example:
>
> <doTry>
>   <process1>
>   <process2>
> <doCatch>...</doCatch>
> </doTry>
>
> If process2 failed , catch clause will received message which content is the
> process1's result.
>
> But another multi-case example
>
> <dotry>
>        <multi-cast stopOnException="true">
>                <pipeline> <process1><process2> </pipeline>
>                <pipeline> <process3> <process4> </pipeline>
>    </multi-cast>
> <doCatch> </doCatch>
> </dotry>
>
> If process2 failed , doCatch will received message whose content is original
> message send  to mult-cast, but not be the process1's result;
>
> So is it a bug of multi-cast pattern?
>

That is how the multicast EIP pattern works. It sends the SAME message
to X destinations.
So if you continue routing AFTER the multicast you would use the
original message.

But Camel offers you to aggregate with the multicast. So in you case
you can add a aggregationStrategy to multicast and let it just use the
new exchange

>
>



-- 
Claus Ibsen
Apache Camel Committer

Author of Camel in Action: http://www.manning.com/ibsen/
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus