You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Darwish <ot...@progressoft.com> on 2013/08/15 09:38:45 UTC

SetHeader thread ( route) safety !!?

Hi ,

I have two route A and B , route A process message for ftp point and push it
to AMQ  queue after attaching actionId as header , route B pull that message
and continue the processing as bellow :

<route id="A">
<from uri="ftp">
<process ref="doStuff" />
<setHeader headerName="actionId">
		<constant>101</constant>
</setHeader>
<log message="${header.actionId}"/>
<to uri="JMS"/>
</route>

<route id="B">
<from uri="JMS"/>

<setHeader headerName="actionId">
		<constant>202</constant>
</setHeader>
<log message="${header.actionId}"/>
<process ref="doAnotherStuff" />
</route>

The result is random , for individual message processing ,things run as
expected, but in load test where many messages submitted and two route run
concurrently,randomly header value are mixed, route A  actionId header value
populated with route B header value  and sometimes route B header value
populated  with route  A header value A header value ! 

any idea ?

camel 2.11.0 
AMQ  6.8











-----
Othman Darwish
ProgressSoft Corp.

--
View this message in context: http://camel.465427.n5.nabble.com/SetHeader-thread-route-safety-tp5737302.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: SetHeader thread ( route) safety !!?

Posted by Christian Müller <ch...@gmail.com>.
I cannot believe it. Can you provide an unit test which show this issue?

Best,
Christian
-----------------

Software Integration Specialist

Apache Camel committer: https://camel.apache.org/team
V.P. Apache Camel: https://www.apache.org/foundation/
Apache Member: https://www.apache.org/foundation/members.html

https://www.linkedin.com/pub/christian-mueller/11/551/642


On Thu, Aug 15, 2013 at 9:38 AM, Darwish <ot...@progressoft.com>wrote:

> Hi ,
>
> I have two route A and B , route A process message for ftp point and push
> it
> to AMQ  queue after attaching actionId as header , route B pull that
> message
> and continue the processing as bellow :
>
> <route id="A">
> <from uri="ftp">
> <process ref="doStuff" />
> <setHeader headerName="actionId">
>                 <constant>101</constant>
> </setHeader>
> <log message="${header.actionId}"/>
> <to uri="JMS"/>
> </route>
>
> <route id="B">
> <from uri="JMS"/>
>
> <setHeader headerName="actionId">
>                 <constant>202</constant>
> </setHeader>
> <log message="${header.actionId}"/>
> <process ref="doAnotherStuff" />
> </route>
>
> The result is random , for individual message processing ,things run as
> expected, but in load test where many messages submitted and two route run
> concurrently,randomly header value are mixed, route A  actionId header
> value
> populated with route B header value  and sometimes route B header value
> populated  with route  A header value A header value !
>
> any idea ?
>
> camel 2.11.0
> AMQ  6.8
>
>
>
>
>
>
>
>
>
>
>
> -----
> Othman Darwish
> ProgressSoft Corp.
>
> --
> View this message in context:
> http://camel.465427.n5.nabble.com/SetHeader-thread-route-safety-tp5737302.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>