Index: lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/LearningWebsocketServer.java =================================================================== diff -u -r63ff5aaa19e3fb53810266ade4fc2e9433c09d44 -r7ad5836f13935fb4a998edb7e6579e5d0a015e3d --- lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/LearningWebsocketServer.java (.../LearningWebsocketServer.java) (revision 63ff5aaa19e3fb53810266ade4fc2e9433c09d44) +++ lams_tool_scratchie/src/java/org/lamsfoundation/lams/tool/scratchie/web/action/LearningWebsocketServer.java (.../LearningWebsocketServer.java) (revision 7ad5836f13935fb4a998edb7e6579e5d0a015e3d) @@ -217,8 +217,12 @@ responseJSON.put("close", true); String response = responseJSON.toString(); + Set sessionWebsockets = LearningWebsocketServer.websockets.get(toolSessionId); + if (sessionWebsockets == null) { + return; + } // make a copy of the websocket collection so it does not get blocked while sending messages - Set sessionWebsockets = new HashSet(LearningWebsocketServer.websockets.get(toolSessionId)); + sessionWebsockets = new HashSet(sessionWebsockets); for (Session websocket : sessionWebsockets) { websocket.getBasicRemote().sendText(response); }