diff --git a/src/main/java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java b/src/main/java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java index 224faa86bb56043f70c4ac98e938c95a9fe7496a..d1e55601b6003ec734621dfa14ae37fa054fc6ef 100644 --- a/src/main/java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java +++ b/src/main/java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java @@ -136,9 +136,14 @@ public class ARSnovaSocketIOServer { } public void stopServer() throws Exception { - logger.debug("In stopServer method of class: {}", getClass().getName()); - for (SocketIOClient client : server.getAllClients()) { - client.disconnect(); + logger.trace("In stopServer method of class: {}", getClass().getName()); + try { + for (SocketIOClient client : server.getAllClients()) { + client.disconnect(); + } + } catch (Exception e) { + /* If exceptions are not caught they could prevent the Socket.IO server from shutting down. */ + logger.error("Exception caught on Socket.IO shutdown: {}", e.getStackTrace()); } server.stop();