Not able to set header to AMQP Message using MessageProperties

Arijeet Saha

The below code shows how I am setting header and message type to AMQP message.

MessageProperties properties = new MessageProperties();
    properties.setHeader("KEY", "HOUSE");
    properties.setContentType(MessageProperties.CONTENT_TYPE_JSON);
Message message = new Message("1234567;Branch A;SALES;3000.50;Pending approval".getBytes(), properties);
rabbitTemplate.sendAndReceive("", QUEUE_NAME, message);

After sending the message in the queue, the message is received by Transformer.

@Transformer(inputChannel = "inboundChannel", outputChannel = "toutboundChannel")
public Property buildProperty(Message<String> property){
    LOGGER.info("message received :: HEADERS: {}, PAYLOAD :{}", property.getHeaders(), property.getPayload());
....
}    

In the logs, the header "KEY: HOUSE" is missing and even the message type is not JSON and "text/plain" instead.

LOGS:
[SimpleAsyncTaskExecutor-1] INFO com.demo.maven.spring.integration.endpoint.TransformerRequestBuilder - message received :: HEADERS: {amqp_receivedRoutingKey=mobile.queue, amqp_deliveryTag=2, amqp_replyTo=amq.rabbitmq.reply-to.g2dkABByYWJiaXRAbG9jYWxob3N0AAAW9QAAAAAD.tTIFOS2gsM7qIlGYaybfrg==, amqp_deliveryMode=PERSISTENT, amqp_redelivered=true, id=399dda4f-4ba1-7cf4-2310-03dbfbac82b6, contentType=text/plain, timestamp=1421649922840}, PAYLOAD :1234567;Branch A;SALES;3000.50;Pending approval
Artem Bilan
  1. MessagePropertiesBuilder class is for that.

  2. By default Spring Integration AMQP Inbound Endpoint (AmqpInboundChannelAdapter and AmqpInboundGateway) maps only standard AMQP headers. That's is a default behaviour of DefaultAmqpHeaderMapper. To accept any user-specofic headers you should inject AmqpHeaderMapper (setHeaderMapper) to that inbound endpoint with an option setRequestHeaderNames("*"). Or provide full list of names of desired custom headers.

  3. Re. contentType=text/plain: I think something between AMQP Inbound Endpoint and that @Transformer(inputChannel = "inboundChannel" overrides the received from AMQP contentType header. Because RabbitTemplate doesn't do that, if you send Message not any other Object. Please, share DEBUG logs for the org.springframework.integration category for the message receiver. Of course we need that part of logs, when you receive message till that @Transformer

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Spring AMQP MessageProperties:all headers were removed during deadlettering

From Dev

Spring amqp: How can I read MessageProperties in MessageListenerAdapter

From Dev

Decode AMQP message as a Map using Spring

From Dev

I have filled my jtable using following code but i m not able to set header of the column of the table

From Dev

Not able to set soap header for user authentication in php

From Dev

Set message delay in jms message header

From Dev

Send MessageProperties [priority=anyInteger] while publishing message in RabbitMQ

From Dev

Not able to suppress the error message using /dev/null

From Dev

Storm to read message from RabbitMq using Spring AMQP

From Dev

spring-amqp will not insert message using AmqpTemplate.convertAndSend()

From Dev

How to use pojo with Message type parameter in spring amqp using MessageListenerAdapter?

From Dev

Message persistence in Spring Integration Aggregator without MessageStore by using AMQP?

From Dev

Spring Integration + Spring AMQP: How can I passing MessageProperties to int:service-activator?

From Dev

How to set ActiveMQ message header in Mule?

From Dev

How to set ActiveMQ message header in Mule?

From Dev

Set File name in Message header in Spring Integration

From Dev

Default header set on @MessageGateway not showing up on the message

From Dev

MULE - ESB - how to set the header for the outbound message

From Dev

Message Groups in RabbitMQ / AMQP

From Dev

Spring AMQP Priority Message

From Dev

Not able to set group and permissions using udev rule

From Dev

Not Able to Set Height Of Div Dynamically using jQuery

From Dev

Is there any option to set AutomaticRecoveryEnabled in RabbitMQ using Spring-AMQP?

From Dev

Not able to Send Message specific to User using Spring Websocket STOMP

From Dev

Not able to echo or alert message while using json in php

From Dev

Not able to display message after submitting form using ajax

From Dev

Backbone Collections - not able to set a 'rank' using set method

From Dev

AMQP Appender pending message count

From Dev

not able to insert data using ZADD(sorted set ) in redis using python

Related Related

  1. 1

    Spring AMQP MessageProperties:all headers were removed during deadlettering

  2. 2

    Spring amqp: How can I read MessageProperties in MessageListenerAdapter

  3. 3

    Decode AMQP message as a Map using Spring

  4. 4

    I have filled my jtable using following code but i m not able to set header of the column of the table

  5. 5

    Not able to set soap header for user authentication in php

  6. 6

    Set message delay in jms message header

  7. 7

    Send MessageProperties [priority=anyInteger] while publishing message in RabbitMQ

  8. 8

    Not able to suppress the error message using /dev/null

  9. 9

    Storm to read message from RabbitMq using Spring AMQP

  10. 10

    spring-amqp will not insert message using AmqpTemplate.convertAndSend()

  11. 11

    How to use pojo with Message type parameter in spring amqp using MessageListenerAdapter?

  12. 12

    Message persistence in Spring Integration Aggregator without MessageStore by using AMQP?

  13. 13

    Spring Integration + Spring AMQP: How can I passing MessageProperties to int:service-activator?

  14. 14

    How to set ActiveMQ message header in Mule?

  15. 15

    How to set ActiveMQ message header in Mule?

  16. 16

    Set File name in Message header in Spring Integration

  17. 17

    Default header set on @MessageGateway not showing up on the message

  18. 18

    MULE - ESB - how to set the header for the outbound message

  19. 19

    Message Groups in RabbitMQ / AMQP

  20. 20

    Spring AMQP Priority Message

  21. 21

    Not able to set group and permissions using udev rule

  22. 22

    Not Able to Set Height Of Div Dynamically using jQuery

  23. 23

    Is there any option to set AutomaticRecoveryEnabled in RabbitMQ using Spring-AMQP?

  24. 24

    Not able to Send Message specific to User using Spring Websocket STOMP

  25. 25

    Not able to echo or alert message while using json in php

  26. 26

    Not able to display message after submitting form using ajax

  27. 27

    Backbone Collections - not able to set a 'rank' using set method

  28. 28

    AMQP Appender pending message count

  29. 29

    not able to insert data using ZADD(sorted set ) in redis using python

HotTag

Archive