Example usage for org.springframework.messaging.support NativeMessageHeaderAccessor setNativeHeader

List of usage examples for org.springframework.messaging.support NativeMessageHeaderAccessor setNativeHeader

Introduction

In this page you can find the example usage for org.springframework.messaging.support NativeMessageHeaderAccessor setNativeHeader.

Prototype

public void setNativeHeader(String name, @Nullable String value) 

Source Link

Document

Set the specified native header value replacing existing values.

Usage

From source file:org.springframework.cloud.sleuth.instrument.messaging.MessageHeaderPropagation.java

private void doPut(MessageHeaderAccessor accessor, String key, String value) {
    accessor.setHeader(key, value);//from  w w  w . j a va  2 s . c  o m
    if (accessor instanceof NativeMessageHeaderAccessor) {
        NativeMessageHeaderAccessor nativeAccessor = (NativeMessageHeaderAccessor) accessor;
        nativeAccessor.setNativeHeader(key, value);
    } else {
        Object nativeHeaders = accessor.getHeader(NativeMessageHeaderAccessor.NATIVE_HEADERS);
        if (nativeHeaders == null) {
            accessor.setHeader(NativeMessageHeaderAccessor.NATIVE_HEADERS,
                    nativeHeaders = new LinkedMultiValueMap<>());
        }
        if (nativeHeaders instanceof Map<?, ?>) {
            ((Map) nativeHeaders).put(key, Collections.singletonList(value));
        }
    }
}