Example usage for org.springframework.web.socket.handler ExceptionWebSocketHandlerDecorator tryCloseWithError

List of usage examples for org.springframework.web.socket.handler ExceptionWebSocketHandlerDecorator tryCloseWithError

Introduction

In this page you can find the example usage for org.springframework.web.socket.handler ExceptionWebSocketHandlerDecorator tryCloseWithError.

Prototype

public static void tryCloseWithError(WebSocketSession session, Throwable exception, Log logger) 

Source Link

Usage

From source file:org.springframework.web.socket.adapter.jetty.JettyWebSocketHandlerAdapter.java

@OnWebSocketConnect
public void onWebSocketConnect(Session session) {
    try {//from   www.j av  a  2  s .c  o  m
        this.wsSession.initializeNativeSession(session);
        this.webSocketHandler.afterConnectionEstablished(this.wsSession);
    } catch (Throwable ex) {
        ExceptionWebSocketHandlerDecorator.tryCloseWithError(this.wsSession, ex, logger);
    }
}

From source file:org.springframework.web.socket.adapter.jetty.JettyWebSocketHandlerAdapter.java

@OnWebSocketMessage
public void onWebSocketText(String payload) {
    TextMessage message = new TextMessage(payload);
    try {/*from   ww w .j  a va2  s.  co m*/
        this.webSocketHandler.handleMessage(this.wsSession, message);
    } catch (Throwable ex) {
        ExceptionWebSocketHandlerDecorator.tryCloseWithError(this.wsSession, ex, logger);
    }
}

From source file:org.springframework.web.socket.adapter.jetty.JettyWebSocketHandlerAdapter.java

@OnWebSocketMessage
public void onWebSocketBinary(byte[] payload, int offset, int length) {
    BinaryMessage message = new BinaryMessage(payload, offset, length, true);
    try {// w w w  .  j  ava2s .co  m
        this.webSocketHandler.handleMessage(this.wsSession, message);
    } catch (Throwable ex) {
        ExceptionWebSocketHandlerDecorator.tryCloseWithError(this.wsSession, ex, logger);
    }
}

From source file:org.springframework.web.socket.adapter.jetty.JettyWebSocketHandlerAdapter.java

@OnWebSocketFrame
public void onWebSocketFrame(Frame frame) {
    if (OpCode.PONG == frame.getOpCode()) {
        ByteBuffer payload = frame.getPayload() != null ? frame.getPayload() : EMPTY_PAYLOAD;
        PongMessage message = new PongMessage(payload);
        try {/*from ww  w  .ja  va 2s  . c  o  m*/
            this.webSocketHandler.handleMessage(this.wsSession, message);
        } catch (Throwable ex) {
            ExceptionWebSocketHandlerDecorator.tryCloseWithError(this.wsSession, ex, logger);
        }
    }
}

From source file:org.springframework.web.socket.adapter.jetty.JettyWebSocketHandlerAdapter.java

@OnWebSocketError
public void onWebSocketError(Throwable cause) {
    try {//  w  ww.  jav  a  2  s.  c  o m
        this.webSocketHandler.handleTransportError(this.wsSession, cause);
    } catch (Throwable ex) {
        ExceptionWebSocketHandlerDecorator.tryCloseWithError(this.wsSession, ex, logger);
    }
}

From source file:org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter.java

@Override
public void onOpen(final javax.websocket.Session session, EndpointConfig config) {
    this.wsSession.initializeNativeSession(session);

    if (this.handler.supportsPartialMessages()) {
        session.addMessageHandler(new MessageHandler.Partial<String>() {
            @Override/*from   ww  w .  ja va  2s  . c o m*/
            public void onMessage(String message, boolean isLast) {
                handleTextMessage(session, message, isLast);
            }
        });
        session.addMessageHandler(new MessageHandler.Partial<ByteBuffer>() {
            @Override
            public void onMessage(ByteBuffer message, boolean isLast) {
                handleBinaryMessage(session, message, isLast);
            }
        });
    } else {
        session.addMessageHandler(new MessageHandler.Whole<String>() {
            @Override
            public void onMessage(String message) {
                handleTextMessage(session, message, true);
            }
        });
        session.addMessageHandler(new MessageHandler.Whole<ByteBuffer>() {
            @Override
            public void onMessage(ByteBuffer message) {
                handleBinaryMessage(session, message, true);
            }
        });
    }

    session.addMessageHandler(new MessageHandler.Whole<javax.websocket.PongMessage>() {
        @Override
        public void onMessage(javax.websocket.PongMessage message) {
            handlePongMessage(session, message.getApplicationData());
        }
    });

    try {
        this.handler.afterConnectionEstablished(this.wsSession);
    } catch (Throwable ex) {
        ExceptionWebSocketHandlerDecorator.tryCloseWithError(this.wsSession, ex, logger);
    }
}

From source file:org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter.java

private void handleTextMessage(javax.websocket.Session session, String payload, boolean isLast) {
    TextMessage textMessage = new TextMessage(payload, isLast);
    try {// w  w w  .  ja  va2 s .  co m
        this.handler.handleMessage(this.wsSession, textMessage);
    } catch (Throwable ex) {
        ExceptionWebSocketHandlerDecorator.tryCloseWithError(this.wsSession, ex, logger);
    }
}

From source file:org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter.java

private void handleBinaryMessage(javax.websocket.Session session, ByteBuffer payload, boolean isLast) {
    BinaryMessage binaryMessage = new BinaryMessage(payload, isLast);
    try {/*ww  w. j  av  a 2 s . c om*/
        this.handler.handleMessage(this.wsSession, binaryMessage);
    } catch (Throwable ex) {
        ExceptionWebSocketHandlerDecorator.tryCloseWithError(this.wsSession, ex, logger);
    }
}

From source file:org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter.java

private void handlePongMessage(javax.websocket.Session session, ByteBuffer payload) {
    PongMessage pongMessage = new PongMessage(payload);
    try {/*from   ww  w. ja  va 2  s .  c om*/
        this.handler.handleMessage(this.wsSession, pongMessage);
    } catch (Throwable ex) {
        ExceptionWebSocketHandlerDecorator.tryCloseWithError(this.wsSession, ex, logger);
    }
}

From source file:org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter.java

@Override
public void onError(javax.websocket.Session session, Throwable exception) {
    try {/*from   w w w . j ava  2 s  .c  om*/
        this.handler.handleTransportError(this.wsSession, exception);
    } catch (Throwable ex) {
        ExceptionWebSocketHandlerDecorator.tryCloseWithError(this.wsSession, ex, logger);
    }
}