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
public class StandardManager extends ManagerBase
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()andstop()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
Fields Modifier and Type Field Description protected static StringnameThe descriptive name of this Manager implementation (for logging).protected StringpathnamePath 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 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 Constructor Description StandardManager()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddoLoad()Load any currently active sessions that were previously unloaded to the appropriate persistence mechanism, if any.protected voiddoUnload()Save any currently active sessions in the appropriate persistence mechanism, if any.protected Filefile()Return a File object representing the pathname to our persistence file, if any.StringgetName()StringgetPathname()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 voidstartInternal()Start this component and implement the requirements ofLifecycleBase.startInternal().protected voidstopInternal()Stop 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, getDuplicates, 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, setDuplicates, setExpiredSessions, setMaxActive, setMaxActiveSessions, setNotifyAttributeListenerOnUnchangedValue, setNotifyBindingListenerOnUnchangedValue, setPersistAuthentication, setProcessExpiresFrequency, setProcessingTime, setSecureRandomAlgorithm, setSecureRandomClass, setSecureRandomProvider, setSessionActivityCheck, setSessionAttributeNameFilter, setSessionAttributeValueClassNameFilter, setSessionCounter, setSessionIdGenerator, setSessionLastAccessAtStart, setSessionMaxAliveTime, setWarnOnSessionAttributeFilterFailure, toString, updateSessionMaxAliveTime, willAttributeDistribute
-
Methods inherited from class org.apache.catalina.util.LifecycleMBeanBase
destroyInternal, getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister, 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 Detail
-
name
protected static final String name
The descriptive name of this Manager implementation (for logging).- See Also:
- Constant Field Values
-
pathname
protected String 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.
-
-
Method Detail
-
getName
public String getName()
- Overrides:
getNamein classManagerBase- Returns:
- The descriptive short name of this Manager implementation.
-
getPathname
public String getPathname()
- Returns:
- The session persistence pathname, if any.
-
setPathname
public void setPathname(String pathname)
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
public void load() throws ClassNotFoundException, IOExceptionDescription 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
-
doLoad
protected void doLoad() throws ClassNotFoundException, IOExceptionLoad 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
public void unload() throws IOExceptionDescription 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
-
doUnload
protected void doUnload() throws IOExceptionSave 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
protected void startInternal() throws LifecycleExceptionStart 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
protected void stopInternal() throws LifecycleExceptionStop 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
protected File file()
Return a File object representing the pathname to our persistence file, if any.- Returns:
- the file
-
-