You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Heath Kesler (JIRA)" <ji...@apache.org> on 2015/07/28 01:07:05 UTC

[jira] [Created] (AMQ-5903) Message headers are lost when using the Broker Component for Camel

Heath Kesler created AMQ-5903:
---------------------------------

             Summary: Message headers are lost when using the Broker Component for Camel
                 Key: AMQ-5903
                 URL: https://issues.apache.org/jira/browse/AMQ-5903
             Project: ActiveMQ
          Issue Type: Bug
          Components: activemq-camel
    Affects Versions: 5.11.1
            Reporter: Heath Kesler


When using the broker camel component as defined here:  http://activemq.apache.org/broker-camel-component.html

There appears to be an undocumented limitation of the broker component's current implementation. I need to know whether said limitation is by design or an oversight. If it's an oversight then I can submit a patch for it.

This example route does not work as expected - the JMSXGroupID header is lost when received by the broker component.

<route> 
<from uri="broker:queue:test"/> 
<setHeader headerName="JMSXGroupID"> 
<constant>123</constant> 
</setHeader> 
<to uri="broker:queue:test"/> 
</route>

After single stepping with a debugger the component executes this code: https://github.com/apache/activemq/blob/master/activemq-camel/src/main/java/org/apache/activemq/camel/component/broker/BrokerProducer.java#L102

As you can see from the method's implementation it only copies over a fixed set of six well-known headers. All other headers on the inbound message are discarded. Why not copy over every header? Consequently the JMSXGroupID header is not copied, despite being present on the inbound message.

This would appear to be a bug in my opinion as I do not believe we should be loosing any headers on a message in this case.  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)