@ManagedObject public class DefaultSessionCache extends AbstractSessionCache
AbstractLifeCycle.AbstractLifeCycleListener
LifeCycle.Listener
Container.InheritedListener, Container.Listener
Dumpable.DumpableContainer
Modifier and Type | Field and Description |
---|---|
protected java.util.concurrent.ConcurrentHashMap<java.lang.String,Session> |
_sessions
The cache of sessions in a hashmap
|
_context, _evictionPolicy, _flushOnResponseCommit, _handler, _invalidateOnShutdown, _removeUnloadableSessions, _saveOnCreate, _saveOnInactiveEviction, _sessionDataStore
FAILED, RUNNING, STARTED, STARTING, STOPPED, STOPPING
EVICT_ON_INACTIVITY, EVICT_ON_SESSION_EXIT, NEVER_EVICT
Constructor and Description |
---|
DefaultSessionCache(SessionHandler manager) |
Modifier and Type | Method and Description |
---|---|
protected Session |
doComputeIfAbsent(java.lang.String id,
java.util.function.Function<java.lang.String,Session> mappingFunction)
Compute the mappingFunction to create a Session object iff the session
with the given id isn't already in the map, otherwise return the existing Session.
|
Session |
doDelete(java.lang.String id)
Remove the session with this identity from the store
|
Session |
doGet(java.lang.String id)
Get the session matching the key from the cache.
|
Session |
doPutIfAbsent(java.lang.String id,
Session session)
Put the session into the map if it wasn't already there
|
boolean |
doReplace(java.lang.String id,
Session oldValue,
Session newValue)
Replace the mapping from id to oldValue with newValue
|
long |
getSessionsCurrent() |
long |
getSessionsMax() |
long |
getSessionsTotal() |
Session |
newSession(javax.servlet.http.HttpServletRequest request,
SessionData data)
Create a new Session for a request.
|
Session |
newSession(SessionData data)
Create a new Session object from pre-existing session data
|
void |
resetStats() |
void |
shutdown() |
add, checkExpiration, checkInactiveSession, commit, contains, delete, doStart, doStop, exists, get, getAndEnter, getEvictionPolicy, getSessionDataStore, getSessionHandler, initialize, isFlushOnResponseCommit, isInvalidateOnShutdown, isRemoveUnloadableSessions, isSaveOnCreate, isSaveOnInactiveEviction, newSession, put, release, renewSessionId, renewSessionId, setEvictionPolicy, setFlushOnResponseCommit, setInvalidateOnShutdown, setRemoveUnloadableSessions, setSaveOnCreate, setSaveOnInactiveEviction, setSessionDataStore, toString
addBean, addBean, addEventListener, addManaged, contains, destroy, dump, dump, dump, dump, dump, dumpBeans, dumpObject, dumpObjects, dumpStdErr, dumpThis, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, setStopTimeout, start, stop, unmanage, updateBean, updateBean, updateBeans
addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
renewSessionId
addLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, start, stop, stop
isDumpable
dumpContainer, dumpIterable, dumpMapEntries, dumpObjects, dumpSelf, named
protected java.util.concurrent.ConcurrentHashMap<java.lang.String,Session> _sessions
public DefaultSessionCache(SessionHandler manager)
manager
- The SessionHandler related to this SessionCache@ManagedAttribute(value="current sessions in cache", readonly=true) public long getSessionsCurrent()
@ManagedAttribute(value="max sessions in cache", readonly=true) public long getSessionsMax()
@ManagedAttribute(value="total sessions in cache", readonly=true) public long getSessionsTotal()
@ManagedOperation(value="reset statistics", impact="ACTION") public void resetStats()
public Session doGet(java.lang.String id)
AbstractSessionCache
doGet
in class AbstractSessionCache
id
- session idpublic Session doPutIfAbsent(java.lang.String id, Session session)
AbstractSessionCache
doPutIfAbsent
in class AbstractSessionCache
id
- the identity of the sessionsession
- the session objectprotected Session doComputeIfAbsent(java.lang.String id, java.util.function.Function<java.lang.String,Session> mappingFunction)
AbstractSessionCache
ConcurrentHashMap.computeIfAbsent(K, java.util.function.Function<? super K, ? extends V>)
doComputeIfAbsent
in class AbstractSessionCache
id
- the session idmappingFunction
- the function to load the data for the sessionpublic Session doDelete(java.lang.String id)
AbstractSessionCache
doDelete
in class AbstractSessionCache
id
- the idpublic void shutdown()
public Session newSession(javax.servlet.http.HttpServletRequest request, SessionData data)
AbstractSessionCache
newSession
in class AbstractSessionCache
request
- the requestdata
- the session datapublic Session newSession(SessionData data)
AbstractSessionCache
newSession
in interface SessionCache
newSession
in class AbstractSessionCache
data
- the session datapublic boolean doReplace(java.lang.String id, Session oldValue, Session newValue)
AbstractSessionCache
doReplace
in class AbstractSessionCache
id
- the idoldValue
- the old valuenewValue
- the new valueCopyright © 1995–2021 Webtide. All rights reserved.