[ https://issues.apache.org/jira/browse/CAMEL-5309?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13288406#comment-13288406 ]
Claus Ibsen commented on CAMEL-5309: ------------------------------------ I have committed a fix and backported to 2.9 branch. If you could give the 2.9 SNAPSHOT branch a test that would be great. > Replies with Incorrect CorrelationIDs Received After Reinstantiating a Route > with ActiveMQ Endpoint and Exclusive Reply Queue > ----------------------------------------------------------------------------------------------------------------------------- > > Key: CAMEL-5309 > URL: https://issues.apache.org/jira/browse/CAMEL-5309 > Project: Camel > Issue Type: Bug > Components: camel-activemq, camel-jms > Affects Versions: 2.9.2 > Environment: Java 1.6, ActiveMQ 5.6-SNAPSHOT (used in-memory within a > Spring application) > Reporter: Vladimir Tsvetkov > Assignee: Claus Ibsen > Fix For: 2.9.3, 2.10.0 > > > When I first instantiate the following route, it works as expected. The > Replies that come have the right correlation ids, just as Camel has assigned > them. > {code} > from("direct:fetchStateStart") > .setExchangePattern(ExchangePattern.InOut) > .to("activemq:queue:tasksQueue?replyTo=completionsQueue" + > "&replyToType=Exclusive" + > "&requestTimeout=" + FETCH_INDEX_TIMEOUT) > .threads(10) > .routeId("route-001"); > {code} > When this route completes, it is stopped and removed from the camel context. > When a similar route is instantiated: > {code} > from("direct:processStateStart") > .setExchangePattern(ExchangePattern.InOut) > .to("activemq:queue:tasksQueue?replyTo=completionsQueue" + > "&replyToType=Exclusive" + > "&requestTimeout=" + PROCESS_INDEX_TIMEOUT) > .threads(10) > .routeId("route-002"); > {code} > Half of the replies come as expected, while the other half results in the > following warning: *Reply received for unknown correlationID*. > A workaround for this issues is to use a different *ReplyTo*-queue for each > new instantiation of a similar route. > E.g. for the second route, it'll work if: > {code} > from("direct:processStateStart") > .setExchangePattern(ExchangePattern.InOut) > .to("activemq:queue:tasksQueue?replyTo=processedIndecesQueue" + > "&replyToType=Exclusive" + > "&requestTimeout=" + PROCESS_INDEX_TIMEOUT) > .threads(10) > .routeId("route-002"); > {code} -- 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