public interface WebSocketHandler
Implementations of this interface are encouraged to handle exceptions locally where
it makes sense or alternatively let the exception bubble up in which case by default
the exception is logged and the session closed with
SERVER_ERROR(1011)
. The exception handling
strategy is provided by
ExceptionWebSocketHandlerDecorator
and it can be customized or replaced by decorating
the WebSocketHandler
with a different decorator.
Modifier and Type | Method and Description |
---|---|
void |
afterConnectionClosed(WebSocketSession session,
CloseStatus closeStatus)
Invoked after the WebSocket connection has been closed by either side, or after a
transport error has occurred.
|
void |
afterConnectionEstablished(WebSocketSession session)
Invoked after WebSocket negotiation has succeeded and the WebSocket connection is
opened and ready for use.
|
void |
handleMessage(WebSocketSession session,
WebSocketMessage<?> message)
Invoked when a new WebSocket message arrives.
|
void |
handleTransportError(WebSocketSession session,
Throwable exception)
Handle an error from the underlying WebSocket message transport.
|
boolean |
supportsPartialMessages()
Whether the WebSocketHandler handles partial messages.
|
void afterConnectionEstablished(WebSocketSession session) throws Exception
Exception
- this method can handle or propagate exceptions; see class-level
Javadoc for details.void handleMessage(WebSocketSession session, WebSocketMessage<?> message) throws Exception
Exception
- this method can handle or propagate exceptions; see class-level
Javadoc for details.void handleTransportError(WebSocketSession session, Throwable exception) throws Exception
Exception
- this method can handle or propagate exceptions; see class-level
Javadoc for details.void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) throws Exception
Exception
- this method can handle or propagate exceptions; see class-level
Javadoc for details.boolean supportsPartialMessages()
true
and the underlying WebSocket server supports partial messages,
then a large WebSocket message, or one of an unknown size may be split and
maybe received over multiple calls to
handleMessage(WebSocketSession, WebSocketMessage)
. The flag
WebSocketMessage.isLast()
indicates if
the message is partial and whether it is the last part.