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