Proactively notify all active WebSocket sessions when a shutdown is
progress. Sessions then can ignore further attempts to send messages
and also stop stop trying to flush messages right away.
@ -62,6 +61,8 @@ public class ConcurrentWebSocketSessionDecorator extends WebSocketSessionDecorat
@@ -62,6 +61,8 @@ public class ConcurrentWebSocketSessionDecorator extends WebSocketSessionDecorat
privatevolatilebooleanlimitExceeded;
privatevolatilebooleanshutDownInProgress;
privatefinalLockflushLock=newReentrantLock();
@ -87,7 +88,7 @@ public class ConcurrentWebSocketSessionDecorator extends WebSocketSessionDecorat
@@ -87,7 +88,7 @@ public class ConcurrentWebSocketSessionDecorator extends WebSocketSessionDecorat
@ -105,15 +106,19 @@ public class ConcurrentWebSocketSessionDecorator extends WebSocketSessionDecorat
@@ -105,15 +106,19 @@ public class ConcurrentWebSocketSessionDecorator extends WebSocketSessionDecorat
@ -132,7 +137,7 @@ public class ConcurrentWebSocketSessionDecorator extends WebSocketSessionDecorat
@@ -132,7 +137,7 @@ public class ConcurrentWebSocketSessionDecorator extends WebSocketSessionDecorat
@ -161,4 +166,9 @@ public class ConcurrentWebSocketSessionDecorator extends WebSocketSessionDecorat
@@ -161,4 +166,9 @@ public class ConcurrentWebSocketSessionDecorator extends WebSocketSessionDecorat
@ -221,8 +222,19 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,
@@ -221,8 +222,19 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,
logger.error("Failed to close session id '"+session.getId()+"': "+t.getMessage());
}
}
}
}
@ -298,7 +310,7 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,
@@ -298,7 +310,7 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,