[
https://issues.apache.org/jira/browse/CAMEL-12471?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16454656#comment-16454656
]
Peter commented on CAMEL-12471:
-------------------------------
It looks like only the "RabbitMQConstants.EXCHANGE_OVERRIDE_NAME" header is
removed before it can be used for publishing.
This is done in the RabbitMQProducer class:
{code:java}
String exchangeName =
(String)exchange.getIn().removeHeader("rabbitmq.EXCHANGE_OVERRIDE_NAME");
{code}
But later the RabbitMQMessagePublisher class is also trying to get this header
but it's already removed in the RabbitMQProducer class.
> Dots in RabbitMQ-component headers do not work
> ----------------------------------------------
>
> Key: CAMEL-12471
> URL: https://issues.apache.org/jira/browse/CAMEL-12471
> Project: Camel
> Issue Type: Bug
> Components: camel-rabbitmq
> Affects Versions: 2.21.0
> Reporter: Peter
> Priority: Minor
>
> Setting Exchange headers does not work for all the constants. E.g.:
> .setHeader(RabbitMQConstants.DELIVERY_MODE, constant("2"))
> .setHeader(RabbitMQConstants.EXCHANGE_OVERRIDE_NAME, constant("test"))
> .setHeader(RabbitMQConstants.ROUTING_KEY, simple("${header.msgType}"))
> Only the header for routingkey is set as header. If I set the headers like
> this, so without using a dot (.) then all get set, but are useless ofcourse:
> .setHeader("rabbitmq_DELIVERY_MODE", constant("2"))
> .setHeader("rabbitmq_EXCHANGE_OVERRIDE_NAME", constant("test"))
> .setHeader(RabbitMQConstants.ROUTING_KEY, simple("${header.msgType}"))
> So only the ROUTING_KEY header exists in the function "publishToRabbitMQ" of
> the "RabbitMQMessagePublisher".
> I'm still checking but for now I have no idea why the header for the
> routingkey is working as expected but the others not.
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)