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/976/merge
Rossen Stoyanchev 10 years ago
parent
commit
d554229981
  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