|
|
|
@ -338,12 +338,10 @@ public class StompSubProtocolHandler implements SubProtocolHandler, ApplicationE |
|
|
|
sendErrorMessage(session, ex); |
|
|
|
sendErrorMessage(session, ex); |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
Message<byte[]> message = getErrorHandler().handleClientMessageProcessingError(clientMessage, ex); |
|
|
|
Message<byte[]> message = getErrorHandler().handleClientMessageProcessingError(clientMessage, ex); |
|
|
|
if (message == null) { |
|
|
|
if (message == null) { |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
StompHeaderAccessor accessor = MessageHeaderAccessor.getAccessor(message, StompHeaderAccessor.class); |
|
|
|
StompHeaderAccessor accessor = MessageHeaderAccessor.getAccessor(message, StompHeaderAccessor.class); |
|
|
|
Assert.state(accessor != null, "No StompHeaderAccessor"); |
|
|
|
Assert.state(accessor != null, "No StompHeaderAccessor"); |
|
|
|
sendToClient(session, accessor, message.getPayload()); |
|
|
|
sendToClient(session, accessor, message.getPayload()); |
|
|
|
@ -366,6 +364,14 @@ public class StompSubProtocolHandler implements SubProtocolHandler, ApplicationE |
|
|
|
// Could be part of normal workflow (e.g. browser tab closed)
|
|
|
|
// Could be part of normal workflow (e.g. browser tab closed)
|
|
|
|
logger.debug("Failed to send STOMP ERROR to client", ex); |
|
|
|
logger.debug("Failed to send STOMP ERROR to client", ex); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
finally { |
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
session.close(CloseStatus.PROTOCOL_ERROR); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
catch (IOException ex) { |
|
|
|
|
|
|
|
// Ignore
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private boolean detectImmutableMessageInterceptor(MessageChannel channel) { |
|
|
|
private boolean detectImmutableMessageInterceptor(MessageChannel channel) { |
|
|
|
|