Amit
Amit

Reputation: 1560

Add custom field into header in STOMP message

I want to add version: 1.1 into STOMP message header like that:

destination:/cora/1234/panelapp/code/response
content-type:application/json;charset=UTF-8
subscription:sub-0
message-id:bdyqehdj-5
content-length:492
**Version: 1.2**
@Override
    public Message<?> preSend(Message<?> message, MessageChannel channel) {
        StompHeaderAccessor sha = StompHeaderAccessor.wrap(message);
        StompCommand command = sha.getCommand();
        sha.setHeader(sha.STOMP_MESSAGE_HEADER, "1.2");
        sha.setVersion("1.2");
        sha.addNativeHeader(sha.STOMP_MESSAGE_HEADER, "1.2");
        return message;
}

But in postSend method I cannot find the version info in the headers. How can I get the version info into PostSend method which is set from preSend method in ChannelInterceptorAdapter.


Update:

@Override public Message<?> preSend(Message<?> message, MessageChannel channel) { 
 return MessageBuilder.fromMessage(message).setHeader("Version","1.‌​2").build(); 
}

Upvotes: 1

Views: 996

Answers (1)

Barath
Barath

Reputation: 5283

We can set the headers as key/value pairs:

  MutableMessageBuilder.fromMessage(message)
            .setHeader("key","value")
            .build();

Upvotes: 1

Related Questions