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

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

Introduction

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

Prototype

@Nullable
public Object getHeader(String headerName) 

Source Link

Document

Retrieve the value for the header with the given name.

Usage

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

static void removeAnyTraceHeaders(MessageHeaderAccessor accessor, List<String> keysToRemove) {
    for (String keyToRemove : keysToRemove) {
        accessor.removeHeader(keyToRemove);
        if (accessor instanceof NativeMessageHeaderAccessor) {
            NativeMessageHeaderAccessor nativeAccessor = (NativeMessageHeaderAccessor) accessor;
            nativeAccessor.removeNativeHeader(keyToRemove);
        } else {/*from   w  w  w  .  j a  v  a  2s. com*/
            Object nativeHeaders = accessor.getHeader(NativeMessageHeaderAccessor.NATIVE_HEADERS);
            if (nativeHeaders instanceof Map) {
                ((Map) nativeHeaders).remove(keyToRemove);
            }
        }
    }
}

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  va2 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));
        }
    }
}

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

private String doGet(MessageHeaderAccessor accessor, String key) {
    if (accessor instanceof NativeMessageHeaderAccessor) {
        NativeMessageHeaderAccessor nativeAccessor = (NativeMessageHeaderAccessor) accessor;
        String result = nativeAccessor.getFirstNativeHeader(key);
        if (result != null) {
            return result;
        }//from w  ww .  ja  v a  2 s .c o m
    } else {
        Object nativeHeaders = accessor.getHeader(NativeMessageHeaderAccessor.NATIVE_HEADERS);
        if (nativeHeaders instanceof Map) {
            Object result = ((Map) nativeHeaders).get(key);
            if (result instanceof List && !((List) result).isEmpty()) {
                return String.valueOf(((List) result).get(0));
            }
        }
    }
    Object result = accessor.getHeader(key);
    if (result != null) {
        if (result instanceof byte[]) {
            return new String((byte[]) result, StandardCharsets.UTF_8);
        }
        return result.toString();
    }
    return null;
}