Example usage for org.springframework.messaging.simp.stomp StompFrameHandler getPayloadType

List of usage examples for org.springframework.messaging.simp.stomp StompFrameHandler getPayloadType

Introduction

In this page you can find the example usage for org.springframework.messaging.simp.stomp StompFrameHandler getPayloadType.

Prototype

Type getPayloadType(StompHeaders headers);

Source Link

Document

Invoked before #handleFrame(StompHeaders,Object) to determine the type of Object the payload should be converted to.

Usage

From source file:org.springframework.messaging.simp.stomp.DefaultStompSession.java

private void invokeHandler(StompFrameHandler handler, Message<byte[]> message, StompHeaders stompHeaders) {
    if (message.getPayload().length == 0) {
        handler.handleFrame(stompHeaders, null);
        return;/* www .j  av a 2s  .c o m*/
    }
    Type payloadType = handler.getPayloadType(stompHeaders);
    Class<?> resolvedType = ResolvableType.forType(payloadType).resolve();
    if (resolvedType == null) {
        throw new MessageConversionException("Unresolvable payload type [" + payloadType
                + "] from handler type [" + handler.getClass() + "]");
    }
    Object object = getMessageConverter().fromMessage(message, resolvedType);
    if (object == null) {
        throw new MessageConversionException("No suitable converter for payload type [" + payloadType
                + "] from handler type [" + handler.getClass() + "]");
    }
    handler.handleFrame(stompHeaders, object);
}