You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Jean-Baptiste Onofré (Jira)" <ji...@apache.org> on 2019/11/08 09:46: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 ]

Jean-Baptiste Onofré reassigned CAMEL-13750:
--------------------------------------------

    Assignee: Jean-Baptiste Onofré  (was: 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: Jean-Baptiste Onofré
>            Priority: Minor
>             Fix For: 2.23.4, 2.24.2, 3.0.0.RC1, 3.0.0, 2.25.0
>
>          Time Spent: 40m
>  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
(v8.3.4#803005)