List of usage examples for org.springframework.messaging.support MessageHeaderAccessor removeHeader
public void removeHeader(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 ww . j a v a 2 s.c o m*/ Object nativeHeaders = accessor.getHeader(NativeMessageHeaderAccessor.NATIVE_HEADERS); if (nativeHeaders instanceof Map) { ((Map) nativeHeaders).remove(keyToRemove); } } } }
From source file:org.springframework.messaging.core.GenericMessagingTemplate.java
protected final void doSend(MessageChannel channel, Message<?> message, long timeout) { Assert.notNull(channel, "MessageChannel is required"); Message<?> messageToSend = message; MessageHeaderAccessor accessor = MessageHeaderAccessor.getAccessor(message, MessageHeaderAccessor.class); if (accessor != null && accessor.isMutable()) { accessor.removeHeader(this.sendTimeoutHeader); accessor.removeHeader(this.receiveTimeoutHeader); accessor.setImmutable();/* w ww. ja va 2 s . c o m*/ } else if (message.getHeaders().containsKey(this.sendTimeoutHeader) || message.getHeaders().containsKey(this.receiveTimeoutHeader)) { messageToSend = MessageBuilder.fromMessage(message).setHeader(this.sendTimeoutHeader, null) .setHeader(this.receiveTimeoutHeader, null).build(); } boolean sent = (timeout >= 0 ? channel.send(messageToSend, timeout) : channel.send(messageToSend)); if (!sent) { throw new MessageDeliveryException(message, "Failed to send message to channel '" + channel + "' within timeout: " + timeout); } }