Example usage for org.springframework.messaging.support MessageHeaderAccessor createAccessor

List of usage examples for org.springframework.messaging.support MessageHeaderAccessor createAccessor

Introduction

In this page you can find the example usage for org.springframework.messaging.support MessageHeaderAccessor createAccessor.

Prototype

protected MessageHeaderAccessor createAccessor(Message<?> message) 

Source Link

Document

Build a 'nested' accessor for the given message.

Usage

From source file:org.springframework.messaging.support.MessageHeaderAccessor.java

/**
 * Return a mutable {@code MessageHeaderAccessor} for the given message attempting
 * to match the type of accessor used to create the message headers, or otherwise
 * wrapping the message with a {@code MessageHeaderAccessor} instance.
 * <p>This is for cases where a header needs to be updated in generic code
 * while preserving the accessor type for downstream processing.
 * @return an accessor of the required type, never {@code null}.
 * @since 4.1/*from   w ww .ja  va 2s . c  o m*/
 */
public static MessageHeaderAccessor getMutableAccessor(Message<?> message) {
    if (message.getHeaders() instanceof MutableMessageHeaders) {
        MutableMessageHeaders mutableHeaders = (MutableMessageHeaders) message.getHeaders();
        MessageHeaderAccessor accessor = mutableHeaders.getMessageHeaderAccessor();
        if (accessor != null) {
            return (accessor.isMutable() ? accessor : accessor.createAccessor(message));
        }
    }
    return new MessageHeaderAccessor(message);
}