1. Add session count threshold as am extra pre-condition.
2. Check pre-conditions for expiration checks on every request.
Effectively an upper bound on how many sessions can be created before
expiration checks are performed.
Issue: SPR-17020
@ -53,9 +51,7 @@ public class InMemoryWebSessionStore implements WebSessionStore {
@@ -53,9 +51,7 @@ public class InMemoryWebSessionStore implements WebSessionStore {
@ -70,8 +66,7 @@ public class InMemoryWebSessionStore implements WebSessionStore {
@@ -70,8 +66,7 @@ public class InMemoryWebSessionStore implements WebSessionStore {
@ -84,49 +79,29 @@ public class InMemoryWebSessionStore implements WebSessionStore {
@@ -84,49 +79,29 @@ public class InMemoryWebSessionStore implements WebSessionStore {
@ -137,7 +112,7 @@ public class InMemoryWebSessionStore implements WebSessionStore {
@@ -137,7 +112,7 @@ public class InMemoryWebSessionStore implements WebSessionStore {
@ -157,8 +132,9 @@ public class InMemoryWebSessionStore implements WebSessionStore {
@@ -157,8 +132,9 @@ public class InMemoryWebSessionStore implements WebSessionStore {
@ -256,6 +232,57 @@ public class InMemoryWebSessionStore implements WebSessionStore {
@@ -256,6 +232,57 @@ public class InMemoryWebSessionStore implements WebSessionStore {
}
privateclassExpiredSessionChecker{
/** Max time before next expiration checks. */
privatestaticfinalintCHECK_PERIOD=60;
/** Max sessions that can be created before next expiration checks. */