Class StompSubProtocolErrorHandler
- java.lang.Object
- org.springframework.web.socket.messaging.StompSubProtocolErrorHandler
- All Implemented Interfaces:
SubProtocolErrorHandler<byte[]>
public class StompSubProtocolErrorHandler extends Object implements SubProtocolErrorHandler<byte[]>
ASubProtocolErrorHandler
for use with STOMP.- Since:
- 4.2
- Author:
- Rossen Stoyanchev
Constructor Summary
Constructors Constructor Description StompSubProtocolErrorHandler()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Message<byte[]>
handleClientMessageProcessingError(Message<byte[]> clientMessage, Throwable ex)
Handle errors thrown while processing client messages providing an opportunity to prepare the error message or to prevent one from being sent.Message<byte[]>
handleErrorMessageToClient(Message<byte[]> errorMessage)
Handle errors sent from the server side to clients, e.g.protected Message<byte[]>
handleInternal(StompHeaderAccessor errorHeaderAccessor, byte[] errorPayload, Throwable cause, StompHeaderAccessor clientHeaderAccessor)
Constructor Detail
StompSubProtocolErrorHandler
public StompSubProtocolErrorHandler()
Method Detail
handleClientMessageProcessingError
public Message<byte[]> handleClientMessageProcessingError(Message<byte[]> clientMessage, Throwable ex)
Description copied from interface:SubProtocolErrorHandler
Handle errors thrown while processing client messages providing an opportunity to prepare the error message or to prevent one from being sent.Note that the STOMP protocol requires a server to close the connection after sending an ERROR frame. To prevent an ERROR frame from being sent, a handler could return
null
and send a notification message through the broker instead, e.g. via a user destination.- Specified by:
handleClientMessageProcessingError
in interfaceSubProtocolErrorHandler<byte[]>
- Parameters:
clientMessage
- the client message related to the error, possiblynull
if error occurred while parsing a WebSocket messageex
- the cause for the error, nevernull
- Returns:
- the error message to send to the client, or
null
in which case no message will be sent.
handleErrorMessageToClient
public Message<byte[]> handleErrorMessageToClient(Message<byte[]> errorMessage)
Description copied from interface:SubProtocolErrorHandler
Handle errors sent from the server side to clients, e.g. errors from the"broke relay"
because connectivity failed or the external broker sent an error message, etc.- Specified by:
handleErrorMessageToClient
in interfaceSubProtocolErrorHandler<byte[]>
- Parameters:
errorMessage
- the error message, nevernull
- Returns:
- the error message to send to the client, or
null
in which case no message will be sent.
handleInternal
protected Message<byte[]> handleInternal(StompHeaderAccessor errorHeaderAccessor, byte[] errorPayload, Throwable cause, StompHeaderAccessor clientHeaderAccessor)