Example usage for org.springframework.messaging.support MessageHeaderAccessor setHeader

List of usage examples for org.springframework.messaging.support MessageHeaderAccessor setHeader

Introduction

In this page you can find the example usage for org.springframework.messaging.support MessageHeaderAccessor setHeader.

Prototype

public void setHeader(String name, @Nullable Object value) 

Source Link

Document

Set the value for the given header name.

Usage

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