List of usage examples for org.springframework.messaging.support MessageHeaderAccessor getHeader
@Nullable
public Object getHeader(String headerName)
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; }