Update AnonymusSessionListener.java

This commit is contained in:
Ludy87 2025-04-05 17:29:54 +02:00
parent b95da36454
commit 2101d21a78
No known key found for this signature in database
GPG Key ID: 92696155E0220F94

View File

@ -94,6 +94,29 @@ public class AnonymusSessionListener implements HttpSessionListener, SessionsInt
}
}
// Expire first session sorted by last request time aufsteigend
public void expireFirstSession(String sessionId) {
sessions.values().stream()
.filter(info -> !info.isExpired())
.filter(info -> !info.getSessionId().equals(sessionId))
.sorted((s1, s2) -> s1.getLastRequest().compareTo(s2.getLastRequest()))
.findFirst()
.ifPresent(
session -> {
AnonymusSessionInfo sessionInfo = (AnonymusSessionInfo) session;
sessionInfo.setExpired(true);
try {
log.info(
"Session {} expired by first Session",
sessionInfo.getSession().getId());
} catch (IllegalStateException e) {
log.info(
"Session {} already invalidated",
sessionInfo.getSession().getId());
}
});
}
// Mark all sessions as expired
public void expireAllSessions() {
sessions.values()
@ -177,7 +200,7 @@ public class AnonymusSessionListener implements HttpSessionListener, SessionsInt
@Override
public int getMaxApplicationSessions() {
return 5;
return getMaxUserSessions();
}
@Override