You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2013/11/21 20:37:35 UTC
[jira] [Commented] (CAMEL-6988) 2.12.1 caches groovy call -
resulting with previous caller state
[ https://issues.apache.org/jira/browse/CAMEL-6988?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13829262#comment-13829262 ]
Claus Ibsen commented on CAMEL-6988:
------------------------------------
CAMEL-6340 was also introduced in Camel 2.11.1. Are you sure its that version? Can you double check.
> 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)