Top Description Methods
org.springframework.web.socket

public Interface WebSocketHandler

Known Direct Implementers
org.springframework.web.socket.handler.AbstractWebSocketHandler, org.springframework.web.socket.handler.PerConnectionWebSocketHandler, org.springframework.web.socket.handler.WebSocketHandlerDecorator, org.springframework.web.socket.messaging.SubProtocolWebSocketHandler, org.springframework.web.socket.messaging.WebSocketStompClient.WebSocketTcpConnectionHandlerAdapter

A handler for WebSocket messages and lifecycle events.

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.

Authors
Rossen Stoyanchev, Phillip Webb
Since
4.0

Method Summary

Modifier and TypeMethod and Description
public void
afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus)

Invoked after the WebSocket connection has been closed by either side, or after a transport error has occurred.

public void
afterConnectionEstablished(WebSocketSession session)

Invoked after WebSocket negotiation has succeeded and the WebSocket connection is opened and ready for use.

public void
handleMessage(WebSocketSession session, WebSocketMessage<?> message)

Invoked when a new WebSocket message arrives.

public void
handleTransportError(WebSocketSession session, Throwable exception)

Handle an error from the underlying WebSocket message transport.

public boolean
supportsPartialMessages()

Whether the WebSocketHandler handles partial messages.

Method Detail

afterConnectionClosedback to summary
public void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) throws Exception

Invoked after the WebSocket connection has been closed by either side, or after a transport error has occurred. Although the session may technically still be open, depending on the underlying implementation, sending messages at this point is discouraged and most likely will not succeed.

Exceptions
Exception:
this method can handle or propagate exceptions; see class-level Javadoc for details.
afterConnectionEstablishedback to summary
public void afterConnectionEstablished(WebSocketSession session) throws Exception

Invoked after WebSocket negotiation has succeeded and the WebSocket connection is opened and ready for use.

Exceptions
Exception:
this method can handle or propagate exceptions; see class-level Javadoc for details.
handleMessageback to summary
public void handleMessage(WebSocketSession session, WebSocketMessage<?> message) throws Exception

Invoked when a new WebSocket message arrives.

Exceptions
Exception:
this method can handle or propagate exceptions; see class-level Javadoc for details.
handleTransportErrorback to summary
public void handleTransportError(WebSocketSession session, Throwable exception) throws Exception

Handle an error from the underlying WebSocket message transport.

Exceptions
Exception:
this method can handle or propagate exceptions; see class-level Javadoc for details.
supportsPartialMessagesback to summary
public boolean supportsPartialMessages()

Whether the WebSocketHandler handles partial messages. If this flag is set to 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 org.springframework.web.socket.WebSocketMessage#isLast() indicates if the message is partial and whether it is the last part.