Package org.apache.catalina.session
Class StandardManager
java.lang.Object
org.apache.catalina.util.LifecycleBase
org.apache.catalina.util.LifecycleMBeanBase
org.apache.catalina.session.ManagerBase
org.apache.catalina.session.StandardManager
- All Implemented Interfaces:
MBeanRegistration
,JmxEnabled
,Lifecycle
,Manager
Standard implementation of the Manager interface that provides simple session persistence across restarts of
this component (such as when the entire server is shut down and restarted, or when a particular web application is
reloaded.
IMPLEMENTATION NOTE: Correct behavior of session storing and reloading depends upon external calls to the
start()
and stop()
methods of this class at the correct times.
- Author:
- Craig R. McClanahan
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.catalina.session.ManagerBase
ManagerBase.SessionTiming
Nested classes/interfaces inherited from interface org.apache.catalina.Lifecycle
Lifecycle.SingleUse
-
Field Summary
Modifier and TypeFieldDescriptionprotected static final String
The descriptive name of this Manager implementation (for logging).protected String
Path name of the disk file in which active sessions are saved when we stop, and from which these sessions are loaded when we start.Fields inherited from class org.apache.catalina.session.ManagerBase
duplicates, expiredSessions, maxActive, maxActiveSessions, processExpiresFrequency, processingTime, rejectedSessions, secureRandomAlgorithm, secureRandomClass, secureRandomProvider, sessionCounter, sessionCreationTiming, sessionExpirationTiming, sessionIdGenerator, sessionIdGeneratorClass, sessionMaxAliveTime, sessions, sm, support, TIMING_STATS_CACHE_SIZE
Fields inherited from class org.apache.catalina.util.LifecycleMBeanBase
mserver
Fields inherited from interface org.apache.catalina.Lifecycle
AFTER_DESTROY_EVENT, AFTER_INIT_EVENT, AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_DESTROY_EVENT, BEFORE_INIT_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, CONFIGURE_START_EVENT, CONFIGURE_STOP_EVENT, PERIODIC_EVENT, START_EVENT, STOP_EVENT
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
doLoad()
Load any currently active sessions that were previously unloaded to the appropriate persistence mechanism, if any.protected void
doUnload()
Save any currently active sessions in the appropriate persistence mechanism, if any.protected File
file()
Return a File object representing the pathname to our persistence file, if any.getName()
void
load()
Load any currently active sessions that were previously unloaded to the appropriate persistence mechanism, if any.void
setPathname
(String pathname) Set the session persistence pathname to the specified value.protected void
Start this component and implement the requirements ofLifecycleBase.startInternal()
.protected void
Stop this component and implement the requirements ofLifecycleBase.stopInternal()
.void
unload()
Save any currently active sessions in the appropriate persistence mechanism, if any.Methods inherited from class org.apache.catalina.session.ManagerBase
add, addPropertyChangeListener, backgroundProcess, changeSessionId, changeSessionId, changeSessionId, createEmptySession, createSession, expireSession, findSession, findSessions, generateSessionId, getActiveSessions, getClassName, getContext, getCreationTime, getCreationTimestamp, getDomainInternal, getDuplicates, getEngine, getExpiredSessions, getJvmRoute, getLastAccessedTime, getLastAccessedTimestamp, getMaxActive, getMaxActiveSessions, getNewSession, getObjectNameKeyProperties, getPersistAuthentication, getPersistAuthenticationNotes, getProcessExpiresFrequency, getProcessingTime, getRejectedSessions, getSecureRandomAlgorithm, getSecureRandomClass, getSecureRandomProvider, getSession, getSessionAttribute, getSessionAttributeNameFilter, getSessionAttributeNamePattern, getSessionAttributeValueClassNameFilter, getSessionAttributeValueClassNamePattern, getSessionAverageAliveTime, getSessionCounter, getSessionCreateRate, getSessionExpireRate, getSessionIdGenerator, getSessionMaxAliveTime, getThisAccessedTime, getThisAccessedTimestamp, getWarnOnSessionAttributeFilterFailure, initInternal, listSessionIds, processExpires, remove, remove, removePropertyChangeListener, rotateSessionId, setContext, setDuplicates, setExpiredSessions, setMaxActive, setMaxActiveSessions, setPersistAuthentication, setPersistAuthenticationNotes, setProcessExpiresFrequency, setProcessingTime, setSecureRandomAlgorithm, setSecureRandomClass, setSecureRandomProvider, setSessionAttributeNameFilter, setSessionAttributeValueClassNameFilter, setSessionCounter, setSessionIdGenerator, setSessionMaxAliveTime, setWarnOnSessionAttributeFilterFailure, toString, updateSessionMaxAliveTime, willAttributeDistribute
Methods inherited from class org.apache.catalina.util.LifecycleMBeanBase
destroyInternal, getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister
Methods inherited from class org.apache.catalina.util.LifecycleBase
addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stop
-
Field Details
-
name
The descriptive name of this Manager implementation (for logging).- See Also:
-
pathname
Path name of the disk file in which active sessions are saved when we stop, and from which these sessions are loaded when we start. Anull
value indicates that no persistence is desired. If this pathname is relative, it will be resolved against the temporary working directory provided by our context, available via thejavax.servlet.context.tempdir
context attribute.
-
-
Constructor Details
-
StandardManager
public StandardManager()
-
-
Method Details
-
getName
- Overrides:
getName
in classManagerBase
- Returns:
- The descriptive short name of this Manager implementation.
-
getPathname
- Returns:
- The session persistence pathname, if any.
-
setPathname
Set the session persistence pathname to the specified value. If no persistence support is desired, set the pathname tonull
.- Parameters:
pathname
- New session persistence pathname
-
load
Description copied from interface:Manager
Load any currently active sessions that were previously unloaded to the appropriate persistence mechanism, if any. If persistence is not supported, this method returns without doing anything.- Throws:
ClassNotFoundException
- if a serialized class cannot be found during the reloadIOException
- if an input/output error occurs
-
doLoad
Load any currently active sessions that were previously unloaded to the appropriate persistence mechanism, if any. If persistence is not supported, this method returns without doing anything.- Throws:
ClassNotFoundException
- if a serialized class cannot be found during the reloadIOException
- if an input/output error occurs
-
unload
Description copied from interface:Manager
Save any currently active sessions in the appropriate persistence mechanism, if any. If persistence is not supported, this method returns without doing anything.- Throws:
IOException
- if an input/output error occurs
-
doUnload
Save any currently active sessions in the appropriate persistence mechanism, if any. If persistence is not supported, this method returns without doing anything.- Throws:
IOException
- if an input/output error occurs
-
startInternal
Start this component and implement the requirements ofLifecycleBase.startInternal()
.- Overrides:
startInternal
in classManagerBase
- Throws:
LifecycleException
- if this component detects a fatal error that prevents this component from being used
-
stopInternal
Stop this component and implement the requirements ofLifecycleBase.stopInternal()
.- Overrides:
stopInternal
in classManagerBase
- Throws:
LifecycleException
- if this component detects a fatal error that prevents this component from being used
-
file
Return a File object representing the pathname to our persistence file, if any.- Returns:
- the file
-