[ 
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)

Reply via email to