diff --git a/src/main/java/de/thm/arsnova/services/UserService.java b/src/main/java/de/thm/arsnova/services/UserService.java index c76517ef5feae69b76087898edd442d78ca58e5f..d7e0179812a9e63129f79346d3b0a6090de1376d 100644 --- a/src/main/java/de/thm/arsnova/services/UserService.java +++ b/src/main/java/de/thm/arsnova/services/UserService.java @@ -258,7 +258,7 @@ public class UserService implements IUserService, InitializingBean, DisposableBe File tmpDir = new File(System.getProperty("java.io.tmpdir")); File store = new File(tmpDir, "arsnova.bin"); if (!store.exists()) { - if (! store.createNewFile()) { + if (!store.createNewFile()) { LOGGER.info("Could not create store file"); } } diff --git a/src/main/java/de/thm/arsnova/services/UserSessionServiceImpl.java b/src/main/java/de/thm/arsnova/services/UserSessionServiceImpl.java index e10a7b6c662d102775b72b729c23009cc72f7fd1..fcbdcbc7995424fc574b01b5ec7d1196d339d381 100644 --- a/src/main/java/de/thm/arsnova/services/UserSessionServiceImpl.java +++ b/src/main/java/de/thm/arsnova/services/UserSessionServiceImpl.java @@ -3,8 +3,11 @@ package de.thm.arsnova.services; import java.io.Serializable; import java.util.UUID; +import javax.annotation.PreDestroy; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Scope; import org.springframework.context.annotation.ScopedProxyMode; import org.springframework.stereotype.Component; @@ -26,6 +29,17 @@ public class UserSessionServiceImpl implements UserSessionService, Serializable private Session session; private UUID socketId; + @Autowired + private IUserService userService; + + @PreDestroy + public void tearDown() { + if ( socketId != null ) { + LOGGER.info("Removing websocket session {}", socketId); + userService.removeUser2SocketId(socketId); + } + } + @Override public void setUser(User u) { this.user = u;