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.SessionTimingNested classes/interfaces inherited from interface org.apache.catalina.Lifecycle
Lifecycle.SingleUse -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final StringThe descriptive name of this Manager implementation (for logging).protected StringPath 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
expiredSessions, maxActive, maxActiveSessions, processExpiresFrequency, processingTime, rejectedSessions, secureRandomAlgorithm, secureRandomClass, secureRandomProvider, sessionCreationTiming, sessionExpirationTiming, sessionIdGenerator, sessionIdGeneratorClass, sessionMaxAliveTime, sessions, sm, support, TIMING_STATS_CACHE_SIZEFields 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected Filefile()Return a File object representing the pathname to our persistence file, if any.getName()voidload()Load any currently active sessions that were previously unloaded to the appropriate persistence mechanism, if any.voidsetPathname(String pathname) Set the session persistence pathname to the specified value.protected voidStart this component and implement the requirements ofLifecycleBase.startInternal().protected voidStop this component and implement the requirements ofLifecycleBase.stopInternal().voidunload()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, createEmptySession, createSession, expireSession, findSession, findSessions, generateSessionId, getActiveSessions, getClassName, getContext, getCreationTime, getCreationTimestamp, getDomainInternal, getEngine, getExpiredSessions, getJvmRoute, getLastAccessedTime, getLastAccessedTimestamp, getMaxActive, getMaxActiveSessions, getNewSession, getNotifyAttributeListenerOnUnchangedValue, getNotifyBindingListenerOnUnchangedValue, getObjectNameKeyProperties, getPersistAuthentication, getProcessExpiresFrequency, getProcessingTime, getRejectedSessions, getSecureRandomAlgorithm, getSecureRandomClass, getSecureRandomProvider, getSession, getSessionActivityCheck, getSessionAttribute, getSessionAttributeNameFilter, getSessionAttributeNamePattern, getSessionAttributeValueClassNameFilter, getSessionAttributeValueClassNamePattern, getSessionAverageAliveTime, getSessionCounter, getSessionCreateRate, getSessionExpireRate, getSessionIdGenerator, getSessionLastAccessAtStart, getSessionMaxAliveTime, getThisAccessedTime, getThisAccessedTimestamp, getWarnOnSessionAttributeFilterFailure, initInternal, listSessionIds, processExpires, remove, remove, removePropertyChangeListener, rotateSessionId, setContext, setExpiredSessions, setMaxActive, setMaxActiveSessions, setNotifyAttributeListenerOnUnchangedValue, setNotifyBindingListenerOnUnchangedValue, setPersistAuthentication, setProcessExpiresFrequency, setProcessingTime, setSecureRandomAlgorithm, setSecureRandomClass, setSecureRandomProvider, setSessionActivityCheck, setSessionAttributeNameFilter, setSessionAttributeValueClassNameFilter, setSessionIdGenerator, setSessionLastAccessAtStart, setSessionMaxAliveTime, setWarnOnSessionAttributeFilterFailure, toString, updateSessionMaxAliveTime, willAttributeDistributeMethods inherited from class org.apache.catalina.util.LifecycleMBeanBase
destroyInternal, getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister, unregisterMethods 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. Anullvalue 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 thejakarta.servlet.context.tempdircontext attribute.
-
-
Constructor Details
-
StandardManager
public StandardManager()
-
-
Method Details
-
getName
- Overrides:
getNamein 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:ManagerLoad 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:ManagerSave 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:
startInternalin 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:
stopInternalin 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
-