[ 
https://issues.apache.org/jira/browse/CAMEL-5465?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Raul Kripalani updated CAMEL-5465:
----------------------------------

    Summary: JMS Reply Manager is shared across producers for the same endpoint 
 (was: JMS Reply Managers should remove correlation earlier)
    
> JMS Reply Manager is shared across producers for the same endpoint
> ------------------------------------------------------------------
>
>                 Key: CAMEL-5465
>                 URL: https://issues.apache.org/jira/browse/CAMEL-5465
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-activemq, camel-jms
>    Affects Versions: 2.8.6, 2.9.2
>            Reporter: Raul Kripalani
>            Assignee: Raul Kripalani
>             Fix For: 2.9.3, 2.10.0
>
>
> When handling synchronous invocations, both JMS reply managers 
> {{TemporaryQueueReplyManager}} and {{PersistentQueueReplyManager}} remove the 
> correlation too late.
> {{ReplyManager.handleReplyMessage}} handles the reply triggering the 
> continuation of the remaining route logic, which may as well contain yet 
> another JMS invocation to exactly the same destination, e.g.:
> {code}
> <route>
>   <from uri="direct:hello" />
>   <inOut uri="activemq:queue:test" />
>   <inOut uri="activemq:queue:test" />
> </route>
> {code}
> As a result, the correlation is not removed from the CorrelationMap until the 
> asynchronous dispatch to the second endpoint has finished and the stack 
> unwinds.
> What's worse is that, due to Camel's re-use of endpoints, both producers are 
> represented as exactly the same Endpoint instance, sharing *the same 
> ReplyManager and CorrelationMap*.
> So during the dispatch to the second endpoint, the correlation is overwritten 
> in the CorrelationMap but, immediately after, the first endpoint removes the 
> correlation anyway!
> Since correlation ID are dragged on (see CAMEL-5390), the route will fail, 
> providing a bad out-of-box experience for such a simple use case.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to