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:
javax.management.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 java.lang.String
name
The descriptive name of this Manager implementation (for logging).protected java.lang.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.-
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 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 java.io.File
file()
Return a File object representing the pathname to our persistence file, if any.java.lang.String
getName()
java.lang.String
getPathname()
void
load()
Load any currently active sessions that were previously unloaded to the appropriate persistence mechanism, if any.void
setPathname(java.lang.String pathname)
Set the session persistence pathname to the specified value.protected void
startInternal()
Start this component and implement the requirements ofLifecycleBase.startInternal()
.protected void
stopInternal()
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, 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, getPersistAuthenticationNotes, 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, setPersistAuthenticationNotes, 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 java.lang.String name
The descriptive name of this Manager implementation (for logging).- See Also:
- Constant Field Values
-
pathname
protected java.lang.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. 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 thejakarta.servlet.context.tempdir
context attribute.
-
-
Method Detail
-
getName
public java.lang.String getName()
- Overrides:
getName
in classManagerBase
- Returns:
- The descriptive short name of this Manager implementation.
-
getPathname
public java.lang.String getPathname()
- Returns:
- The session persistence pathname, if any.
-
setPathname
public void setPathname(java.lang.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 java.lang.ClassNotFoundException, java.io.IOException
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:
java.lang.ClassNotFoundException
- if a serialized class cannot be found during the reloadjava.io.IOException
- if an input/output error occurs
-
doLoad
protected void doLoad() throws java.lang.ClassNotFoundException, java.io.IOException
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:
java.lang.ClassNotFoundException
- if a serialized class cannot be found during the reloadjava.io.IOException
- if an input/output error occurs
-
unload
public void unload() throws java.io.IOException
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:
java.io.IOException
- if an input/output error occurs
-
doUnload
protected void doUnload() throws java.io.IOException
Save any currently active sessions in the appropriate persistence mechanism, if any. If persistence is not supported, this method returns without doing anything.- Throws:
java.io.IOException
- if an input/output error occurs
-
startInternal
protected void startInternal() throws LifecycleException
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
protected void stopInternal() throws LifecycleException
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
protected java.io.File file()
Return a File object representing the pathname to our persistence file, if any.- Returns:
- the file
-
-