Package org.eclipse.jetty.server.session
Class NullSessionCache
java.lang.Object
org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.util.component.ContainerLifeCycle
org.eclipse.jetty.server.session.AbstractSessionCache
org.eclipse.jetty.server.session.NullSessionCache
- All Implemented Interfaces:
SessionCache,Container,Destroyable,Dumpable,Dumpable.DumpableContainer,LifeCycle
NullSessionCache
Does not actually cache any Session objects. Useful for testing.
Also useful if you do not want to share Session objects with the same id between
simultaneous requests: note that this means that context forwarding can't share
the same id either.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
AbstractLifeCycle.AbstractLifeCycleListener, AbstractLifeCycle.StopExceptionNested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container
Container.InheritedListener, Container.ListenerNested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable
Dumpable.DumpableContainerNested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
LifeCycle.Listener -
Field Summary
Fields inherited from class org.eclipse.jetty.server.session.AbstractSessionCache
_context, _evictionPolicy, _flushOnResponseCommit, _handler, _invalidateOnShutdown, _removeUnloadableSessions, _saveOnCreate, _saveOnInactiveEviction, _sessionDataStoreFields inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
FAILED, STARTED, STARTING, STOPPED, STOPPINGFields inherited from interface org.eclipse.jetty.server.session.SessionCache
EVICT_ON_INACTIVITY, EVICT_ON_SESSION_EXIT, NEVER_EVICT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected SessiondoComputeIfAbsent(String id, Function<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.Remove the session with this identity from the storeGet the session matching the key from the cache.doPutIfAbsent(String id, Session session) Put the session into the map if it wasn't already therebooleanReplace the mapping from id to oldValue with newValuenewSession(javax.servlet.http.HttpServletRequest request, SessionData data) Create a new Session for a request.newSession(SessionData data) Create a new Session object from pre-existing session datavoidsetEvictionPolicy(int evictionTimeout) -1 means we never evict inactive sessions. 0 means we evict a session after the last request for it exits >0 is the number of seconds after which we evict inactive sessions from the cachevoidshutdown()Methods inherited from class org.eclipse.jetty.server.session.AbstractSessionCache
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, setFlushOnResponseCommit, setInvalidateOnShutdown, setRemoveUnloadableSessions, setSaveOnCreate, setSaveOnInactiveEviction, setSessionDataStore, toStringMethods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle
addBean, addBean, addEventListener, addManaged, contains, destroy, dump, dump, dump, dumpObjects, dumpStdErr, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, start, stop, unmanage, updateBean, updateBean, updateBeans, updateBeansMethods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
getEventListeners, getState, getState, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, setEventListeners, start, stopMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.eclipse.jetty.util.component.Container
getCachedBeans, getEventListenersMethods inherited from interface org.eclipse.jetty.util.component.Dumpable.DumpableContainer
isDumpableMethods inherited from interface org.eclipse.jetty.util.component.LifeCycle
addEventListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeEventListener, start, stop
-
Constructor Details
-
NullSessionCache
- Parameters:
handler- The SessionHandler related to this SessionCache
-
-
Method Details
-
shutdown
public void shutdown() -
newSession
Description copied from class:AbstractSessionCacheCreate a new Session object from pre-existing session data- Specified by:
newSessionin interfaceSessionCache- Specified by:
newSessionin classAbstractSessionCache- Parameters:
data- the session data- Returns:
- a new Session object
-
newSession
Description copied from class:AbstractSessionCacheCreate a new Session for a request.- Specified by:
newSessionin classAbstractSessionCache- Parameters:
request- the requestdata- the session data- Returns:
- the new session
-
doGet
Description copied from class:AbstractSessionCacheGet the session matching the key from the cache. Does not load the session.- Specified by:
doGetin classAbstractSessionCache- Parameters:
id- session id- Returns:
- the Session object matching the id
-
doPutIfAbsent
Description copied from class:AbstractSessionCachePut the session into the map if it wasn't already there- Specified by:
doPutIfAbsentin classAbstractSessionCache- Parameters:
id- the identity of the sessionsession- the session object- Returns:
- null if the session wasn't already in the map, or the existing entry otherwise
-
doReplace
Description copied from class:AbstractSessionCacheReplace the mapping from id to oldValue with newValue- Specified by:
doReplacein classAbstractSessionCache- Parameters:
id- the idoldValue- the old valuenewValue- the new value- Returns:
- true if replacement was done
-
doDelete
Description copied from class:AbstractSessionCacheRemove the session with this identity from the store- Specified by:
doDeletein classAbstractSessionCache- Parameters:
id- the id- Returns:
- Session that was removed or null
-
setEvictionPolicy
public void setEvictionPolicy(int evictionTimeout) Description copied from class:AbstractSessionCache-1 means we never evict inactive sessions. 0 means we evict a session after the last request for it exits >0 is the number of seconds after which we evict inactive sessions from the cache- Specified by:
setEvictionPolicyin interfaceSessionCache- Overrides:
setEvictionPolicyin classAbstractSessionCache- Parameters:
evictionTimeout- -1 is never evict; 0 is evict-on-exit; and any other positive value is the time in seconds that a session can be idle before it can be evicted.- See Also:
-
doComputeIfAbsent
Description copied from class:AbstractSessionCacheCompute 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. This method is expected to have precisely the same behaviour asConcurrentHashMap.computeIfAbsent(K, java.util.function.Function<? super K, ? extends V>)- Specified by:
doComputeIfAbsentin classAbstractSessionCache- Parameters:
id- the session idmappingFunction- the function to load the data for the session- Returns:
- an existing Session from the cache
-