List of usage examples for org.springframework.messaging.support MessageHeaderAccessor setHeader
public void setHeader(String name, @Nullable Object value)
From source file:org.openwms.common.comm.transformer.tcp.HeaderAppendingTransformer.java
@Transformer public Message<Payload> transform(Message<Payload> msg) { MessageHeaderAccessor mha = new MessageHeaderAccessor(); mha.copyHeaders(msg.getHeaders());/*from www.j av a2s. c o m*/ mha.setHeader(CommHeader.SYNC_FIELD_NAME, msg.getHeaders().get(CommHeader.SYNC_FIELD_NAME)); mha.setHeader(CommHeader.MSG_LENGTH_FIELD_NAME, headerLength(msg.getHeaders()) + msg.getPayload().asString().length()); mha.setHeader(CommHeader.SENDER_FIELD_NAME, msg.getHeaders().get(CommHeader.RECEIVER_FIELD_NAME)); mha.setHeader(CommHeader.RECEIVER_FIELD_NAME, msg.getHeaders().get(CommHeader.SENDER_FIELD_NAME)); mha.setHeader(CommHeader.SEQUENCE_FIELD_NAME, Integer.parseInt(String.valueOf(msg.getHeaders().get(CommHeader.SEQUENCE_FIELD_NAME))) + 1); return org.springframework.messaging.support.MessageBuilder.withPayload(msg.getPayload()).setHeaders(mha) .build(); }
From source file:org.springframework.cloud.sleuth.instrument.messaging.MessageHeaderPropagation.java
private void doPut(MessageHeaderAccessor accessor, String key, String value) { accessor.setHeader(key, value); if (accessor instanceof NativeMessageHeaderAccessor) { NativeMessageHeaderAccessor nativeAccessor = (NativeMessageHeaderAccessor) accessor; nativeAccessor.setNativeHeader(key, value); } else {/*from w w w. j a va2 s . c om*/ 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.messaging.handler.invocation.AbstractMethodMessageHandler.java
@Override public void handleMessage(Message<?> message) throws MessagingException { String destination = getDestination(message); if (destination == null) { return;//from w w w. jav a2 s .c om } 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(); }
From source file:org.springframework.messaging.simp.annotation.support.SimpAnnotationMethodMessageHandler.java
@Override protected void handleMatch(SimpMessageMappingInfo mapping, HandlerMethod handlerMethod, String lookupDestination, Message<?> message) { Set<String> patterns = mapping.getDestinationConditions().getPatterns(); if (!CollectionUtils.isEmpty(patterns)) { String pattern = patterns.iterator().next(); Map<String, String> vars = getPathMatcher().extractUriTemplateVariables(pattern, lookupDestination); if (!CollectionUtils.isEmpty(vars)) { MessageHeaderAccessor mha = MessageHeaderAccessor.getAccessor(message, MessageHeaderAccessor.class); Assert.state(mha != null && mha.isMutable(), "Mutable MessageHeaderAccessor required"); mha.setHeader(DestinationVariableMethodArgumentResolver.DESTINATION_TEMPLATE_VARIABLES_HEADER, vars);/*from w ww.j av a 2s.co m*/ } } try { SimpAttributesContextHolder.setAttributesFromMessage(message); super.handleMatch(mapping, handlerMethod, lookupDestination, message); } finally { SimpAttributesContextHolder.resetAttributes(); } }