Example usage for org.springframework.messaging.simp SimpMessageHeaderAccessor setMessageTypeIfNotSet

List of usage examples for org.springframework.messaging.simp SimpMessageHeaderAccessor setMessageTypeIfNotSet

Introduction

In this page you can find the example usage for org.springframework.messaging.simp SimpMessageHeaderAccessor setMessageTypeIfNotSet.

Prototype

public void setMessageTypeIfNotSet(SimpMessageType messageType) 

Source Link

Usage

From source file:org.springframework.cloud.stream.app.websocket.sink.WebsocketSinkConfiguration.java

@ServiceActivator(inputChannel = Sink.INPUT)
public void websocketSink(Message<?> message) {
    if (logger.isTraceEnabled()) {
        logger.trace(String.format("Handling message: %s", message));
    }//from www  .j a  v a  2 s .c  o m

    SimpMessageHeaderAccessor headers = SimpMessageHeaderAccessor.wrap(message);
    headers.setMessageTypeIfNotSet(SimpMessageType.MESSAGE);
    String messagePayload = message.getPayload().toString();
    for (Channel channel : WebsocketSinkServer.channels) {
        if (logger.isTraceEnabled()) {
            logger.trace(
                    String.format("Writing message %s to channel %s", messagePayload, channel.localAddress()));
        }

        channel.write(new TextWebSocketFrame(messagePayload));
        channel.flush();
    }

    if (traceEndpointEnabled) {
        addMessageToTraceRepository(message);
    }
}