Reference: Conversation with Claus Ibsen on Stackoverflow
org.apache.camel.component.rabbitmq.RabbitMQMessageConverter.buildProperties() skips the headers which have value null. The actual java client for RabbitMQ does not have this check. It accepts a basic Map<String,Object> which can accept null value. Reference . Check the definition of headers() method
The business scenario where we use it. On the RabbitMQ, we accept messages from multiple sources. Depending on whether a specific header is null or not, we route these message downstream in our processing pipeline.
If required, I could provide a working example of rabbitmq java-client to demonstrate that the headers with null value are not skipped