You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by ayilliath <ay...@gmail.com> on 2014/04/08 11:37:48 UTC

exchange property scope

Hi, 

I have a unique problem with a value created in one of the sub-routes in a
multicast to be used in another.

Eg:

      <multicast stopOnException="true">
        <to uri="direct:archive"/>
        <to uri="direct:validate"/>
        <to uri="direct:process1"/>
        <to uri="direct:process2"/>
        <to uri="direct:end_process"/>
      </multicast>

the route process1 runs some business rules and generates parameters that
needs to be accessed by end_process. 
I tried both setHeader and setProperty, but they don't seem to be available
beyond the scope of process1.

I was assuming that setProperty would set the property on the Exchange and
so should be accessible throughout the lifecycle of the Exchange.. 

Thanks
Rakesh





--
View this message in context: http://camel.465427.n5.nabble.com/exchange-property-scope-tp5749945.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: exchange property scope

Posted by Claus Ibsen <cl...@gmail.com>.
You are using multicast so its a copy of the message that is being
processed by each one. If you want to share something then you can use
an aggregation strategy on the multicast to "merge" in results as you
want.

Maybe you can just use a pipes and filters style instead of multicast,
then its the same exchange being routed.

On Tue, Apr 8, 2014 at 11:37 AM, ayilliath <ay...@gmail.com> wrote:
> Hi,
>
> I have a unique problem with a value created in one of the sub-routes in a
> multicast to be used in another.
>
> Eg:
>
>       <multicast stopOnException="true">
>         <to uri="direct:archive"/>
>         <to uri="direct:validate"/>
>         <to uri="direct:process1"/>
>         <to uri="direct:process2"/>
>         <to uri="direct:end_process"/>
>       </multicast>
>
> the route process1 runs some business rules and generates parameters that
> needs to be accessed by end_process.
> I tried both setHeader and setProperty, but they don't seem to be available
> beyond the scope of process1.
>
> I was assuming that setProperty would set the property on the Exchange and
> so should be accessible throughout the lifecycle of the Exchange..
>
> Thanks
> Rakesh
>
>
>
>
>
> --
> View this message in context: http://camel.465427.n5.nabble.com/exchange-property-scope-tp5749945.html
> Sent from the Camel - Users mailing list archive at Nabble.com.



-- 
Claus Ibsen
-----------------
Red Hat, Inc.
Email: cibsen@redhat.com
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen
Make your Camel applications look hawt, try: http://hawt.io