diff --git a/spring-session/src/main/java/org/springframework/session/web/socket/handler/WebSocketRegistryListener.java b/spring-session/src/main/java/org/springframework/session/web/socket/handler/WebSocketRegistryListener.java index c6dc7dc..a211939 100644 --- a/spring-session/src/main/java/org/springframework/session/web/socket/handler/WebSocketRegistryListener.java +++ b/spring-session/src/main/java/org/springframework/session/web/socket/handler/WebSocketRegistryListener.java @@ -84,6 +84,9 @@ public final class WebSocketRegistryListener implements ApplicationListener sessions = httpSessionIdToWsSessions.get(httpSessionId); if(sessions != null) { diff --git a/spring-session/src/test/java/org/springframework/session/web/socket/handler/WebSocketRegistryListenerTests.java b/spring-session/src/test/java/org/springframework/session/web/socket/handler/WebSocketRegistryListenerTests.java index 49d59ff..9f5ec70 100644 --- a/spring-session/src/test/java/org/springframework/session/web/socket/handler/WebSocketRegistryListenerTests.java +++ b/spring-session/src/test/java/org/springframework/session/web/socket/handler/WebSocketRegistryListenerTests.java @@ -116,6 +116,16 @@ public class WebSocketRegistryListenerTests { verify(wsSession,times(0)).close(any(CloseStatus.class)); } + @Test + public void onApplicationEventConnectDisconnectNullSession() throws Exception { + listener.onApplicationEvent(connect); + attributes.clear(); + + listener.onApplicationEvent(disconnect); + + // no exception + } + @Test public void onApplicationEventConnectConnectDisonnect() throws Exception { listener.onApplicationEvent(connect);