List of usage examples for org.springframework.messaging.support MessageHeaderAccessor getMutableAccessor
public static MessageHeaderAccessor getMutableAccessor(Message<?> message)
From source file:org.springframework.cloud.sleuth.instrument.messaging.TracingChannelInterceptor.java
private Message<?> outputMessage(Message<?> originalMessage, Message<?> retrievedMessage, MessageHeaderAccessor additionalHeaders) { MessageHeaderAccessor headers = MessageHeaderAccessor.getMutableAccessor(originalMessage); if (originalMessage.getPayload() instanceof MessagingException) { headers.copyHeaders(MessageHeaderPropagation.propagationHeaders(additionalHeaders.getMessageHeaders(), this.tracing.propagation().keys())); return new ErrorMessage((MessagingException) originalMessage.getPayload(), isWebSockets(headers) ? headers.getMessageHeaders() : new MessageHeaders(headers.getMessageHeaders())); }/*from w w w . ja v a 2s .c o m*/ headers.copyHeaders(additionalHeaders.getMessageHeaders()); return new GenericMessage<>(retrievedMessage.getPayload(), isWebSockets(headers) ? headers.getMessageHeaders() : new MessageHeaders(headers.getMessageHeaders())); }
From source file:org.springframework.cloud.sleuth.instrument.messaging.TracingChannelInterceptor.java
private MessageHeaderAccessor mutableHeaderAccessor(Message<?> message) { MessageHeaderAccessor headers = MessageHeaderAccessor.getMutableAccessor(message); headers.setLeaveMutable(true);/* w w w .java 2 s. c om*/ return headers; }
From source file:org.springframework.messaging.handler.invocation.AbstractMethodMessageHandler.java
@Override public void handleMessage(Message<?> message) throws MessagingException { String destination = getDestination(message); if (destination == null) { return;/*from w ww . j a v a 2s. co m*/ } String lookupDestination = getLookupDestination(destination); if (lookupDestination == null) { return; } MessageHeaderAccessor headerAccessor = MessageHeaderAccessor.getMutableAccessor(message); headerAccessor.setHeader(DestinationPatternsMessageCondition.LOOKUP_DESTINATION_HEADER, lookupDestination); headerAccessor.setLeaveMutable(true); message = MessageBuilder.createMessage(message.getPayload(), headerAccessor.getMessageHeaders()); if (logger.isDebugEnabled()) { logger.debug("Searching methods to handle " + headerAccessor.getShortLogMessage(message.getPayload()) + ", lookupDestination='" + lookupDestination + "'"); } handleMessageInternal(message, lookupDestination); headerAccessor.setImmutable(); }