[
https://issues.apache.org/jira/browse/CAMEL-13750?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16887305#comment-16887305
]
Claus Ibsen commented on CAMEL-13750:
-------------------------------------
The idea of this feature is not to mix and match the setting, but was for some
brokers like WebSphereMQ back then had issues and you could turn on to use an
alternative correlation id.
Maybe in your use-case/situation you can set custom correlation IDs that works
with your mixed set of brokers and this scenario.
You are of course welcome to dive into the source code and see if you can
improve the code, but at this points this ticket is likely not a priority in
this community at the moment. Others are of course to VOTE on the jira ticket
and comment too.
> 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
> Priority: Minor
>
>
> {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)