WebSocketRegistryListener handles null Session in SessionDisconnectEvent

Fixes gh-77
This commit is contained in:
Rob Winch
2014-12-12 15:26:07 -06:00
parent c7e9c698a5
commit 0b403c3313
2 changed files with 13 additions and 0 deletions

View File

@@ -84,6 +84,9 @@ public final class WebSocketRegistryListener implements ApplicationListener<Appl
}
private void afterConnectionClosed(String httpSessionId, String wsSessionId) {
if(httpSessionId == null) {
return;
}
Map<String,WebSocketSession> sessions = httpSessionIdToWsSessions.get(httpSessionId);
if(sessions != null) {

View File

@@ -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);