[ 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