You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Andrea Cosentino (JIRA)" <ji...@apache.org> on 2019/07/19 08:40:00 UTC

[jira] [Assigned] (CAMEL-13750) Incoming JMSCorrelationID is passed along when useMessageIDAsCorrelationID

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

Andrea Cosentino reassigned CAMEL-13750:
----------------------------------------

    Assignee: Andrea Cosentino

> Incoming JMSCorrelationID is passed along when useMessageIDAsCorrelationID
> --------------------------------------------------------------------------
>
>                 Key: CAMEL-13750
>                 URL: https://issues.apache.org/jira/browse/CAMEL-13750
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-activemq, camel-jms
>    Affects Versions: 2.24.1
>            Reporter: Alvin Kwekel
>            Assignee: Andrea Cosentino
>            Priority: Minor
>             Fix For: 3.0.0, 3.0.0.M5
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
>  
> {noformat}
> +-+            +-+            +-+
> | | +-> Q1 +-> | | +-> Q3 +-> | |
> |A|            |B|            |C|
> | | <-+ Q2 <-+ | | <-+ Q4 <-+ | |
> +-+            +-+            +-+{noformat}
>  JMS request goes from A to B to C and the reply back from C to B to A.
> A useMessageIDAsCorrelationID=false
>  B useMessageIDAsCorrelationID=true
>  C useMessageIDAsCorrelationID=false
> The JMSCorrelationID assigned by A is passed along to C via Camel message headers when useMessageIDAsCorrelationID is set on B's request. B is expecting the JMSMessageID to be used as JMSCorrelationID on the reply but since the JMSCorrelationID is actually provided, C could decide to give precedence to the JMSCorrelationID rendering B's message selector to not match.
> The only case this would work as expected is when C is also set to useMessageIDAsCorrelationID to always prefer the JMSMessageID. But consider situations where C is not under your control and/or implemented in a different technology than Camel.
> I'd argue the JMSCorrelationID should be made _null_ when the useMessageIDAsCorrelationID is set on a provider.
> I've created an example project to demonstrate the behavior: [https://github.com/alvinkwekel/camel-example-jmscorrelationid]
> This issue seems to be closely related to https://issues.apache.org/jira/browse/CAMEL-2249



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)