Browse Source

Fix incomplete log message

Commit 48236b from 2014 introduced a logging improvement to avoid
logging each removed session per line and instead log one line at
the end with all removed sessions ids. However that list of removed
session ids wasn't populated. This commit fixes that.

Issue: SPR-14111
pull/1033/head
Rossen Stoyanchev 10 years ago
parent
commit
01d50e9bde
  1. 8
      spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/TransportHandlingSockJsService.java

8
spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/TransportHandlingSockJsService.java

@ -359,14 +359,15 @@ public class TransportHandlingSockJsService extends AbstractSockJsService implem @@ -359,14 +359,15 @@ public class TransportHandlingSockJsService extends AbstractSockJsService implem
if (this.sessionCleanupTask != null) {
return;
}
final List<String> removedSessionIds = new ArrayList<String>();
this.sessionCleanupTask = getTaskScheduler().scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
List<String> removedIds = new ArrayList<String>();
for (SockJsSession session : sessions.values()) {
try {
if (session.getTimeSinceLastActive() > getDisconnectDelay()) {
sessions.remove(session.getId());
removedIds.add(session.getId());
session.close();
}
}
@ -375,9 +376,8 @@ public class TransportHandlingSockJsService extends AbstractSockJsService implem @@ -375,9 +376,8 @@ public class TransportHandlingSockJsService extends AbstractSockJsService implem
logger.debug("Failed to close " + session, ex);
}
}
if (logger.isDebugEnabled() && !removedSessionIds.isEmpty()) {
logger.debug("Closed " + removedSessionIds.size() + " sessions " + removedSessionIds);
removedSessionIds.clear();
if (logger.isDebugEnabled() && !removedIds.isEmpty()) {
logger.debug("Closed " + removedIds.size() + " sessions: " + removedIds);
}
}
}, getDisconnectDelay());

Loading…
Cancel
Save