From 0b403c33139aa76c2116fbaddbc34e34e32d2fef Mon Sep 17 00:00:00 2001 From: Rob Winch Date: Fri, 12 Dec 2014 15:26:07 -0600 Subject: [PATCH] WebSocketRegistryListener handles null Session in SessionDisconnectEvent Fixes gh-77 --- .../web/socket/handler/WebSocketRegistryListener.java | 3 +++ .../socket/handler/WebSocketRegistryListenerTests.java | 10 ++++++++++ 2 files changed, 13 insertions(+) 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 c6dc7dcd..a2119399 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 49d59ff0..9f5ec705 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);