public class StompSubProtocolHandler extends Object implements SubProtocolHandler
SubProtocolHandler
for STOMP that supports versions 1.0, 1.1, and 1.2
of the STOMP specification.Modifier and Type | Field and Description |
---|---|
static String |
CONNECTED_USER_HEADER
The name of the header set on the CONNECTED frame indicating the name of the user
authenticated on the WebSocket session.
|
Constructor and Description |
---|
StompSubProtocolHandler() |
Modifier and Type | Method and Description |
---|---|
void |
afterSessionEnded(WebSocketSession session,
CloseStatus closeStatus,
MessageChannel outputChannel)
Invoked after a
WebSocketSession has ended. |
void |
afterSessionStarted(WebSocketSession session,
MessageChannel outputChannel)
Invoked after a
WebSocketSession has started. |
List<String> |
getSupportedProtocols()
Return the list of sub-protocols supported by this handler, never
null . |
UserSessionRegistry |
getUserSessionRegistry() |
void |
handleMessageFromClient(WebSocketSession session,
WebSocketMessage<?> webSocketMessage,
MessageChannel outputChannel)
Handle incoming WebSocket messages from clients.
|
void |
handleMessageToClient(WebSocketSession session,
Message<?> message)
Handle STOMP messages going back out to WebSocket clients.
|
String |
resolveSessionId(Message<?> message)
Resolve the session id from the given message or return
null . |
protected void |
sendErrorMessage(WebSocketSession session,
Throwable error) |
void |
setUserSessionRegistry(UserSessionRegistry registry)
Provide a registry with which to register active user session ids.
|
public static final String CONNECTED_USER_HEADER
public void setUserSessionRegistry(UserSessionRegistry registry)
UserDestinationMessageHandler
public UserSessionRegistry getUserSessionRegistry()
public List<String> getSupportedProtocols()
SubProtocolHandler
null
.getSupportedProtocols
in interface SubProtocolHandler
public void handleMessageFromClient(WebSocketSession session, WebSocketMessage<?> webSocketMessage, MessageChannel outputChannel)
handleMessageFromClient
in interface SubProtocolHandler
session
- the client sessionwebSocketMessage
- the client messageoutputChannel
- an output channel to send messages toprotected void sendErrorMessage(WebSocketSession session, Throwable error)
public void handleMessageToClient(WebSocketSession session, Message<?> message)
handleMessageToClient
in interface SubProtocolHandler
session
- the client sessionmessage
- the client messagepublic String resolveSessionId(Message<?> message)
SubProtocolHandler
null
.resolveSessionId
in interface SubProtocolHandler
message
- the message to resolve the session id frompublic void afterSessionStarted(WebSocketSession session, MessageChannel outputChannel)
SubProtocolHandler
WebSocketSession
has started.afterSessionStarted
in interface SubProtocolHandler
session
- the client sessionoutputChannel
- a channelpublic void afterSessionEnded(WebSocketSession session, CloseStatus closeStatus, MessageChannel outputChannel)
SubProtocolHandler
WebSocketSession
has ended.afterSessionEnded
in interface SubProtocolHandler
session
- the client sessioncloseStatus
- the reason why the session was closedoutputChannel
- a channel