[
https://issues.apache.org/jira/browse/CAMEL-6988?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13829860#comment-13829860
]
Claus Ibsen commented on CAMEL-6988:
------------------------------------
Groovy itself has likely been upgraded between Camel 2.11 and 2.12. Can you try
downgrading and use same Groovy version, and test on your end.
And can you make a simpler unit test / sample project that reproduces this
problem?
We cannot reproduce this issue you see on your end.
And frankly the setHeader logic you use is so simple you can just use the
simple language.
> 2.12.1 caches groovy call - resulting with previous caller state
> ----------------------------------------------------------------
>
> Key: CAMEL-6988
> URL: https://issues.apache.org/jira/browse/CAMEL-6988
> Project: Camel
> Issue Type: Bug
> Components: camel-groovy
> Affects Versions: 2.12.1
> Environment: same results using java 7 on osx, ubuntu, and windoze
> Reporter: Terry Walters
>
> 2.12.1
> Works
> {code}
> <simple>"${body.subOrderName}Endpoint"</simple>
> {code}
> Fails
> {code}
> <groovy>"${request.body.subOrderName}Endpoint"</groovy>
> {code}
> 2.11.1
> Works
> {code}
> <simple>"${body.subOrderName}Endpoint"</simple>
> {code}
> Works
> {code}
> <groovy>"${request.body.subOrderName}Endpoint"</groovy>
> {code}
> *Fails by returning a previous calls result for subOrderName.
> To reproduce you must make several calls in a timely manner with different
> bean data (OGNL/subOrderName).
> Route:
> {code}
> ...
> <setHeader headerName="RSSX_ORDER_ROUTING_SLIP">
> <groovy>return "${request.body.subOrderName}Endpoint"</groovy>
> </setHeader>
> <!-- Route the order by the routing slip header -->
> <routingSlip>
> <header>RSSX_ORDER_ROUTING_SLIP</header>
> </routingSlip>
> ...
> {code}
> Log:
> 1st execution
> Before set header: UpdatePortIn
> After set header: RSSX_ORDER_ROUTING_SLIP=UpdatePortInEndpoint
> 2nd execution (in a timely manner – exposing a LRU Cache issue?)
> Before set header: ResellerAddSubscriberPortIn
> After set header: RSSX_ORDER_ROUTING_SLIP=UpdatePortInEndpoint
> Same logic works in 2.11.1
> Additionally this does not appear OGNL related:
> I just ran into the case where
> {code}
> <setHeader headerName="RSSX_ORDER_ROUTING_SLIP">
> <groovy>"${request.body.getSubOrderName()}Endpoint"</groovy>
> </setHeader>
> {code}
> returns the cached subOrderName from the previous transaction
> So this appears to be isolated to the <groovy> component changes (LRU Cache?)
> that were introduced in 2.12.1
--
This message was sent by Atlassian JIRA
(v6.1#6144)