Optimize logging with tracking the opening and closing of WebSocket
sessions and STOMP broker connections in mind.
While the volume of messages makes it impractical to log every message
at anything higher than TRACE, the opening and closing of connections
is more manageable and can be logged at INFO. This makes it possible to
drop to INFO in production and get useful information without getting
too much in a short period of time.
The logging is also optimized to avoid providing the same information
from multiple places since messages pass through multiple layers.
Issue: SPR-11884
@ -133,9 +133,7 @@ public class SendToMethodReturnValueHandler implements HandlerMethodReturnValueH
@@ -133,9 +133,7 @@ public class SendToMethodReturnValueHandler implements HandlerMethodReturnValueH
@ -187,7 +187,7 @@ public class SimpAnnotationMethodMessageHandler extends AbstractMethodMessageHan
@@ -187,7 +187,7 @@ public class SimpAnnotationMethodMessageHandler extends AbstractMethodMessageHan
*TheconfiguredValidatorinstance
*/
publicValidatorgetValidator(){
returnvalidator;
returnthis.validator;
}
/**
@ -315,25 +315,23 @@ public class SimpAnnotationMethodMessageHandler extends AbstractMethodMessageHan
@@ -315,25 +315,23 @@ public class SimpAnnotationMethodMessageHandler extends AbstractMethodMessageHan
@ -39,32 +40,24 @@ public abstract class AbstractSubscriptionRegistry implements SubscriptionRegist
@@ -39,32 +40,24 @@ public abstract class AbstractSubscriptionRegistry implements SubscriptionRegist
@ -73,27 +66,19 @@ public abstract class AbstractSubscriptionRegistry implements SubscriptionRegist
@@ -73,27 +66,19 @@ public abstract class AbstractSubscriptionRegistry implements SubscriptionRegist
@ -104,24 +89,15 @@ public abstract class AbstractSubscriptionRegistry implements SubscriptionRegist
@@ -104,24 +89,15 @@ public abstract class AbstractSubscriptionRegistry implements SubscriptionRegist
@ -50,7 +50,7 @@ public class BrokerAvailabilityEvent extends ApplicationEvent {
@@ -50,7 +50,7 @@ public class BrokerAvailabilityEvent extends ApplicationEvent {
@ -106,9 +106,6 @@ public class DefaultSubscriptionRegistry extends AbstractSubscriptionRegistry {
@@ -106,9 +106,6 @@ public class DefaultSubscriptionRegistry extends AbstractSubscriptionRegistry {
@ -137,8 +134,7 @@ public class DefaultSubscriptionRegistry extends AbstractSubscriptionRegistry {
@@ -137,8 +134,7 @@ public class DefaultSubscriptionRegistry extends AbstractSubscriptionRegistry {
@ -241,7 +237,7 @@ public class DefaultSubscriptionRegistry extends AbstractSubscriptionRegistry {
@@ -241,7 +237,7 @@ public class DefaultSubscriptionRegistry extends AbstractSubscriptionRegistry {
@ -282,7 +278,7 @@ public class DefaultSubscriptionRegistry extends AbstractSubscriptionRegistry {
@@ -282,7 +278,7 @@ public class DefaultSubscriptionRegistry extends AbstractSubscriptionRegistry {
@ -64,12 +64,9 @@ public class SimpleBrokerMessageHandler extends AbstractBrokerMessageHandler {
@@ -64,12 +64,9 @@ public class SimpleBrokerMessageHandler extends AbstractBrokerMessageHandler {
Assert.notNull(clientInboundChannel,"'clientInboundChannel' must not be null");
Assert.notNull(clientOutboundChannel,"'clientOutboundChannel' must not be null");
Assert.notNull(brokerChannel,"'brokerChannel' must not be null");
this.clientInboundChannel=clientInboundChannel;
this.clientOutboundChannel=clientOutboundChannel;
this.brokerChannel=brokerChannel;
@ -139,7 +136,7 @@ public class SimpleBrokerMessageHandler extends AbstractBrokerMessageHandler {
@@ -139,7 +136,7 @@ public class SimpleBrokerMessageHandler extends AbstractBrokerMessageHandler {
if(!checkDestinationPrefix(destination)){
if(logger.isTraceEnabled()){
logger.trace("Ignoring message to destination="+destination);
logger.trace("No match on destination in "+message);
}
return;
}
@ -147,16 +144,10 @@ public class SimpleBrokerMessageHandler extends AbstractBrokerMessageHandler {
@@ -147,16 +144,10 @@ public class SimpleBrokerMessageHandler extends AbstractBrokerMessageHandler {
@ -164,9 +155,27 @@ public class SimpleBrokerMessageHandler extends AbstractBrokerMessageHandler {
@@ -164,9 +155,27 @@ public class SimpleBrokerMessageHandler extends AbstractBrokerMessageHandler {
logger.trace("Message type not supported. Ignoring: "+message);
logger.trace("Unsupported message type in "+message);
}
}
}
@ -179,9 +188,8 @@ public class SimpleBrokerMessageHandler extends AbstractBrokerMessageHandler {
@@ -179,9 +188,8 @@ public class SimpleBrokerMessageHandler extends AbstractBrokerMessageHandler {
@ -196,10 +204,15 @@ public class SimpleBrokerMessageHandler extends AbstractBrokerMessageHandler {
@@ -196,10 +204,15 @@ public class SimpleBrokerMessageHandler extends AbstractBrokerMessageHandler {
this.clientOutboundChannel.send(reply);
}
catch(Throwableex){
logger.error("Failed to send message="+message,ex);
@ -327,6 +327,13 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -327,6 +327,13 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@ -359,8 +366,8 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -359,8 +366,8 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@ -388,7 +395,7 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -388,7 +395,7 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
logger.error("Error while shutting down TCP client",t);
logger.error("Error in shutdown of TCP client",t);
}
}
@ -399,14 +406,15 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -399,14 +406,15 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
logger.error("Message broker is not active. Ignoring: "+message);
logger.error("Broker not active. Ignoring "+message);
}
elseif(logger.isDebugEnabled()){
logger.debug("Message broker is not active. Ignoring: "+message);
logger.debug("Broker not active. Ignoring "+message);
}
return;
}
@ -416,8 +424,8 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -416,8 +424,8 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
logger.error("No header accessor, please use SimpMessagingTemplate. Ignoring: "+message);
return;
thrownewIllegalStateException(
"No header accessor (not using the SimpMessagingTemplate?): "+message);
}
elseif(accessorinstanceofStompHeaderAccessor){
stompAccessor=(StompHeaderAccessor)accessor;
@ -431,14 +439,13 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -431,14 +439,13 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@ -448,18 +455,14 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -448,18 +455,14 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@ -474,8 +477,8 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -474,8 +477,8 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
logger.trace("Connection already removed for sessionId '"+sessionId+"'");
if(logger.isDebugEnabled()){
logger.debug("Ignoring DISCONNECT in session "+sessionId+". Connection already cleaned up.");
}
return;
}
@ -484,8 +487,8 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -484,8 +487,8 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
logger.warn("Connection for sessionId'"+sessionId+"' not found. Ignoring message");
if(logger.isDebugEnabled()){
logger.debug("No TCP connection for session "+sessionId+" in "+message);
}
return;
}
@ -493,6 +496,12 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -493,6 +496,12 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@ -511,15 +520,12 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -511,15 +520,12 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
Assert.notNull(sessionId,"'sessionId' must not be null");
Assert.notNull(connectHeaders,"'connectHeaders' must not be null");
this.sessionId=sessionId;
this.connectHeaders=connectHeaders;
this.isRemoteClientSession=isRemoteClientSession;
this.isRemoteClientSession=isClientSession;
}
publicStringgetSessionId(){
@ -528,8 +534,8 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -528,8 +534,8 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@ -537,19 +543,19 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -537,19 +543,19 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@Override
publicvoidafterConnectFailure(Throwableex){
handleTcpConnectionFailure("Failed to connect to message broker",ex);
handleTcpConnectionFailure("failed to establish TCP connection in session "+this.sessionId,ex);
logger.error("TCP connection failure in session "+this.sessionId+": "+error,ex);
}
try{
sendStompErrorToClient(errorMessage);
sendStompErrorFrameToClient(error);
}
finally{
try{
@ -557,13 +563,14 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -557,13 +563,14 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
}
catch(Throwablet){
if(logger.isErrorEnabled()){
logger.error("Failed to close connection: "+t.getMessage());
logger.error("Failure while cleaning up state for TCP connection"+
@ -584,24 +591,21 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -584,24 +591,21 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
"Received heartbeat in session "+this.sessionId:"Received "+headerAccessor);
}
headerAccessor.setImmutable();
@ -618,12 +622,9 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -618,12 +622,9 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@ -640,7 +641,8 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -640,7 +641,8 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
conn.send(HEARTBEAT_MESSAGE).addCallback(
newListenableFutureCallback<Void>(){
publicvoidonFailure(Throwablet){
handleTcpConnectionFailure("Failed to send heartbeat",t);
Stringerror="failed to forward heartbeat in \"system\" session.";
handleTcpConnectionFailure(error,t);
}
publicvoidonSuccess(Voidresult){}
});
@ -648,25 +650,25 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -648,25 +650,25 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
handleTcpConnectionFailure("Closing connection after TCP failure",ex);
}
@Override
@ -675,17 +677,19 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -675,17 +677,19 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
return;
}
try{
if(logger.isDebugEnabled()){
logger.debug("TCP connection to broker closed in session '"+this.sessionId+"'");
if(logger.isInfoEnabled()){
logger.info("TCP connection to broker closed in session "+this.sessionId);
}
sendStompErrorToClient("Connection to broker closed");
sendStompErrorFrameToClient("Connection to broker closed.");
}
finally{
try{
// Prevent clearConnection() from trying to close
this.tcpConnection=null;
clearConnection();
}
catch(Throwablet){
// Ignore
// Shouldn't happen with connection reset beforehand
}
}
}
@ -697,7 +701,7 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -697,7 +701,7 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@ -714,78 +718,77 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -714,78 +718,77 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@ -794,13 +797,16 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -794,13 +797,16 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
TcpConnection<byte[]>conn=this.tcpConnection;
this.tcpConnection=null;
if(conn!=null){
if(logger.isInfoEnabled()){
logger.info("Closing TCP connection in session "+this.sessionId);
@ -820,8 +826,8 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -820,8 +826,8 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@ -832,9 +838,9 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -832,9 +838,9 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@ -100,13 +100,11 @@ public class DefaultUserDestinationResolver implements UserDestinationResolver {
@@ -100,13 +100,11 @@ public class DefaultUserDestinationResolver implements UserDestinationResolver {
@ -114,12 +112,10 @@ public class DefaultUserDestinationResolver implements UserDestinationResolver {
@@ -114,12 +112,10 @@ public class DefaultUserDestinationResolver implements UserDestinationResolver {
@ -131,12 +127,13 @@ public class DefaultUserDestinationResolver implements UserDestinationResolver {
@@ -131,12 +127,13 @@ public class DefaultUserDestinationResolver implements UserDestinationResolver {
@ -145,9 +142,6 @@ public class DefaultUserDestinationResolver implements UserDestinationResolver {
@@ -145,9 +142,6 @@ public class DefaultUserDestinationResolver implements UserDestinationResolver {
@ -160,27 +154,13 @@ public class DefaultUserDestinationResolver implements UserDestinationResolver {
@@ -160,27 +154,13 @@ public class DefaultUserDestinationResolver implements UserDestinationResolver {
logger.trace("Ignoring message to "+destination+", not a \"user\" destination");
}
returnfalse;
}
returntrue;
returndestination.startsWith(requiredPrefix);
}
/**
@ -237,6 +217,12 @@ public class DefaultUserDestinationResolver implements UserDestinationResolver {
@@ -237,6 +217,12 @@ public class DefaultUserDestinationResolver implements UserDestinationResolver {
@ -171,8 +171,8 @@ public class UserDestinationMessageHandler implements MessageHandler, SmartLifec
@@ -171,8 +171,8 @@ public class UserDestinationMessageHandler implements MessageHandler, SmartLifec
logger.debug("Use destination not resolved (no active sessions?): "+message);
}
return;
}
@ -184,8 +184,8 @@ public class UserDestinationMessageHandler implements MessageHandler, SmartLifec
@@ -184,8 +184,8 @@ public class UserDestinationMessageHandler implements MessageHandler, SmartLifec
@ -47,7 +47,7 @@ public abstract class AbstractSubscribableChannel extends AbstractMessageChannel
@@ -47,7 +47,7 @@ public abstract class AbstractSubscribableChannel extends AbstractMessageChannel
@ -58,7 +58,7 @@ public abstract class AbstractSubscribableChannel extends AbstractMessageChannel
@@ -58,7 +58,7 @@ public abstract class AbstractSubscribableChannel extends AbstractMessageChannel
@ -133,8 +133,8 @@ public abstract class AbstractWebSocketSession<T> implements NativeWebSocketSess
@@ -133,8 +133,8 @@ public abstract class AbstractWebSocketSession<T> implements NativeWebSocketSess
@ -144,7 +144,7 @@ public abstract class AbstractWebSocketSession<T> implements NativeWebSocketSess
@@ -144,7 +144,7 @@ public abstract class AbstractWebSocketSession<T> implements NativeWebSocketSess
@ -50,7 +50,7 @@ public class LoggingWebSocketHandlerDecorator extends WebSocketHandlerDecorator
@@ -50,7 +50,7 @@ public class LoggingWebSocketHandlerDecorator extends WebSocketHandlerDecorator
@ -73,6 +73,6 @@ public class SessionConnectEvent extends ApplicationEvent {
@@ -73,6 +73,6 @@ public class SessionConnectEvent extends ApplicationEvent {
@ -56,6 +56,6 @@ public class SessionConnectedEvent extends ApplicationEvent {
@@ -56,6 +56,6 @@ public class SessionConnectedEvent extends ApplicationEvent {
@ -68,6 +68,7 @@ public class SessionDisconnectEvent extends ApplicationEvent {
@@ -68,6 +68,7 @@ public class SessionDisconnectEvent extends ApplicationEvent {
@ -188,31 +187,31 @@ public class StompSubProtocolHandler implements SubProtocolHandler, ApplicationE
@@ -188,31 +187,31 @@ public class StompSubProtocolHandler implements SubProtocolHandler, ApplicationE
logger.trace("Received heartbeat from client session="+session.getId());
}
else{
logger.trace("Received message from client session="+session.getId());
}
logger.trace(headerAccessor.isHeartbeat()?
"Received heartbeat from broker in session "+session.getId()+".":
"Received message from broker in session "+session.getId()+": "+message+".");
}
headerAccessor.setSessionId(session.getId());
@ -233,19 +232,23 @@ public class StompSubProtocolHandler implements SubProtocolHandler, ApplicationE
@@ -233,19 +232,23 @@ public class StompSubProtocolHandler implements SubProtocolHandler, ApplicationE
}
}
catch(Throwableex){
logger.error("Parsed STOMP message but could not send it to to message channel. "+
"Sending STOMP ERROR to client, sessionId="+session.getId(),ex);
logger.error("Failed to send STOMP message from client to application MessageChannel"+
" in session "+session.getId()+". Sending STOMP ERROR to client.",ex);
sendErrorMessage(session,ex);
}
}
}
privatevoidpublishEvent(ApplicationEventevent){
try{
if(logger.isInfoEnabled()){
logger.info("Publishing "+event);
}
this.eventPublisher.publishEvent(event);
}
catch(Throwableex){
logger.error("Error while publishing "+event,ex);
logger.error("Error publishing "+event+".",ex);
}
}
@ -257,7 +260,7 @@ public class StompSubProtocolHandler implements SubProtocolHandler, ApplicationE
@@ -257,7 +260,7 @@ public class StompSubProtocolHandler implements SubProtocolHandler, ApplicationE
session.sendMessage(newTextMessage(bytes));
}
catch(Throwableex){
// ignore
logger.error("Failed to send STOMP ERROR to client.",ex);
}
}
@ -267,45 +270,17 @@ public class StompSubProtocolHandler implements SubProtocolHandler, ApplicationE
@@ -267,45 +270,17 @@ public class StompSubProtocolHandler implements SubProtocolHandler, ApplicationE
@ -320,19 +295,16 @@ public class StompSubProtocolHandler implements SubProtocolHandler, ApplicationE
@@ -320,19 +295,16 @@ public class StompSubProtocolHandler implements SubProtocolHandler, ApplicationE
logger.error("Failed to send WebSocket message to client, sessionId="+session.getId(),ex);
logger.error("Failed to send WebSocket message to client in session "+session.getId()+".",ex);
command=StompCommand.ERROR;
}
finally{
@ -347,58 +319,93 @@ public class StompSubProtocolHandler implements SubProtocolHandler, ApplicationE
@@ -347,58 +319,93 @@ public class StompSubProtocolHandler implements SubProtocolHandler, ApplicationE
@ -421,25 +428,18 @@ public class StompSubProtocolHandler implements SubProtocolHandler, ApplicationE
@@ -421,25 +428,18 @@ public class StompSubProtocolHandler implements SubProtocolHandler, ApplicationE
@ -82,9 +80,11 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,
@@ -82,9 +80,11 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,
@ -116,6 +116,7 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,
@@ -116,6 +116,7 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,
@ -123,7 +124,7 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,
@@ -123,7 +124,7 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,
@ -131,27 +132,26 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,
@@ -131,27 +132,26 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,
@ -161,7 +161,7 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,
@@ -161,7 +161,7 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,
@ -177,7 +177,7 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,
@@ -177,7 +177,7 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,
@ -216,6 +216,7 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,
@@ -216,6 +216,7 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,
@ -225,11 +226,8 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,
@@ -225,11 +226,8 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,
@ -254,45 +252,44 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,
@@ -254,45 +252,44 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,
@ -308,16 +305,19 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,
@@ -308,16 +305,19 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,
logger.error("Session not found for session with id '"+sessionId+"', ignoring message "+message);
logger.error("No session for "+message);
return;
}
WebSocketSessionsession=holder.getSession();
@ -327,22 +327,20 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,
@@ -327,22 +327,20 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,
catch(SessionLimitExceededExceptionex){
try{
logger.error("Terminating '"+session+"'",ex);
// Session may be unresponsive so clear first
clearSession(session,ex.getStatus());
clearSession(session,ex.getStatus());// clear first, session may be unresponsive
@ -366,8 +364,8 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,
@@ -366,8 +364,8 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,
@ -378,19 +376,19 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,
@@ -378,19 +376,19 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,
}
WebSocketSessionsession=holder.getSession();
if(logger.isErrorEnabled()){
logger.error("No messages received after "+timeSinceCreated+" ms. Closing "+holder);
logger.error("No messages received after "+timeSinceCreated+" ms. Closing "+holder+".");
}
try{
session.close(CloseStatus.PROTOCOL_ERROR);
}
catch(Throwablet){
logger.error("Failed to close "+session,t);
logger.error("Failure while closing "+session,t);
}
}
}
}
finally{
this.sessionCheckLock.unlock();
finally{
this.sessionCheckLock.unlock();
}
}
}
@ -404,6 +402,9 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,
@@ -404,6 +402,9 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,
@ -156,7 +156,7 @@ public class TransportHandlingSockJsService extends AbstractSockJsService implem
@@ -156,7 +156,7 @@ public class TransportHandlingSockJsService extends AbstractSockJsService implem
logger.warn("No handler for raw WebSocket messages");
logger.error("No handler configured for raw WebSocket messages");
response.setStatusCode(HttpStatus.NOT_FOUND);
return;
}
@ -192,8 +192,8 @@ public class TransportHandlingSockJsService extends AbstractSockJsService implem
@@ -192,8 +192,8 @@ public class TransportHandlingSockJsService extends AbstractSockJsService implem
logger.debug("Unknown transport type: "+transportType);
if(logger.isErrorEnabled()){
logger.error("Unknown transport type: "+transportType);
}
response.setStatusCode(HttpStatus.NOT_FOUND);
return;
@ -201,7 +201,7 @@ public class TransportHandlingSockJsService extends AbstractSockJsService implem
@@ -201,7 +201,7 @@ public class TransportHandlingSockJsService extends AbstractSockJsService implem
@ -238,7 +238,9 @@ public class TransportHandlingSockJsService extends AbstractSockJsService implem
@@ -238,7 +238,9 @@ public class TransportHandlingSockJsService extends AbstractSockJsService implem
}
else{
response.setStatusCode(HttpStatus.NOT_FOUND);
logger.warn("Session not found, sessionId="+sessionId);
if(logger.isDebugEnabled()){
logger.debug("Session not found, sessionId="+sessionId);
}
return;
}
}
@ -281,7 +283,7 @@ public class TransportHandlingSockJsService extends AbstractSockJsService implem
@@ -281,7 +283,7 @@ public class TransportHandlingSockJsService extends AbstractSockJsService implem
}
if(logger.isDebugEnabled()){
logger.debug("Creating new session with session id \""+sessionId+"\"");
logger.debug("Creating new SockJS session, sessionId="+sessionId);
@ -62,11 +62,13 @@ public abstract class AbstractHttpSendingTransportHandler extends AbstractTransp
@@ -62,11 +62,13 @@ public abstract class AbstractHttpSendingTransportHandler extends AbstractTransp
@ -77,11 +79,15 @@ public abstract class AbstractHttpSendingTransportHandler extends AbstractTransp
@@ -77,11 +79,15 @@ public abstract class AbstractHttpSendingTransportHandler extends AbstractTransp
@ -54,7 +52,9 @@ public class WebSocketServerSockJsSession extends AbstractSockJsSession implemen
@@ -54,7 +52,9 @@ public class WebSocketServerSockJsSession extends AbstractSockJsSession implemen
@ -174,7 +174,7 @@ public class WebSocketServerSockJsSession extends AbstractSockJsSession implemen
@@ -174,7 +174,7 @@ public class WebSocketServerSockJsSession extends AbstractSockJsSession implemen
@ -225,8 +225,11 @@ public class WebSocketServerSockJsSession extends AbstractSockJsSession implemen
@@ -225,8 +225,11 @@ public class WebSocketServerSockJsSession extends AbstractSockJsSession implemen