From 8788aaef5a26f6cb02a89084864317ead2ac5941 Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Thu, 9 Sep 2021 07:42:55 -0500 Subject: [PATCH] Issue #6752 - Extensible DefaultSessionCache map implementation Signed-off-by: Joakim Erdfelt --- .../jetty/server/session/DefaultSessionCache.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) 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; } /**