diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/session/DefaultSessionCache.java b/jetty-server/src/main/java/org/eclipse/jetty/server/session/DefaultSessionCache.java index b178bd68a289..d67cca276b68 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/session/DefaultSessionCache.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/session/DefaultSessionCache.java @@ -28,7 +28,7 @@ /** * DefaultSessionCache * - * A session store that keeps its sessions in memory in a concurrent map + * A session store that keeps its sessions in memory within a concurrent map */ @ManagedObject public class DefaultSessionCache extends AbstractSessionCache @@ -38,7 +38,7 @@ public class DefaultSessionCache extends AbstractSessionCache /** * The cache of sessions in a concurrent map */ - protected ConcurrentMap _sessions = new ConcurrentHashMap<>(); + private final ConcurrentMap _sessions; private final CounterStatistic _stats = new CounterStatistic(); @@ -46,8 +46,18 @@ public class DefaultSessionCache extends AbstractSessionCache * @param manager The SessionHandler related to this SessionCache */ public DefaultSessionCache(SessionHandler manager) + { + this(manager, new ConcurrentHashMap<>()); + } + + /** + * @param manager The SessionHandler related to this SessionCache + * @param sessionMap The session map implementation to use + */ + public DefaultSessionCache(SessionHandler manager, ConcurrentMap sessionMap) { super(manager); + this._sessions = sessionMap; } /**