I have a weird problem while using context variables in mediation routes with Talend ESB 6.3.1
I have no idea how to join the .zip of my route in here, but you can reproduce very easily :
cTimer -> cDirect (setVar) -> cLog (output message : context.var)
cDirect (setVar) -> cProcessor (context.var = "Fixed") -> cLog (output message : context.var)
My route is a bit more complex because I also tried to System.out.println the context variable, and use it in the "When" link of a message Router. Result is shown below :
Here it is, in the cProcessor called "setting context var", I print it, the fix it to "fixed", then print it again : it works.
Then, the cLog2 prints it, but it shows the default value, not "fixed". Why ?
Same for the cLog1 in the first route, it shows "default", however the cProcessor shows the value "fixed" right after cLog1!
Without any surprise, this context variable in the message router has the "default" value instead of "fixed".
Why does it behave like this ? Is there something I missed somewhere ?
Thanks in advance
as @cterenzi suggest - need to check how the routes executed, You can run it in debug mode
generally - it work, for example - below part of job, which catch exceptions from real-time flow, but send email not more often than 1 per 30 minutes
Other part of this Job use variables as well, but I never mix them between parts