Package org.apache.catalina.ha.session
Class ClusterManagerBase
java.lang.Object
org.apache.catalina.util.LifecycleBase
org.apache.catalina.util.LifecycleMBeanBase
org.apache.catalina.session.ManagerBase
org.apache.catalina.ha.session.ClusterManagerBase
- All Implemented Interfaces:
MBeanRegistration
,ClusterManager
,JmxEnabled
,Lifecycle
,Manager
- Direct Known Subclasses:
BackupManager
,DeltaManager
-
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 CatalinaCluster
A reference to the clusterprotected static final StringManager
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, 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
clone
(ClusterManagerBase copy) static ClassLoader[]
getClassLoaders
(Context context) protected SynchronizedStack<DeltaRequest>
getReplicationStream
(byte[] data) Open stream and use correct ClassLoader (Container), switching thread context class loader.getReplicationStream
(byte[] data, int offset, int length) Open stream and use correct ClassLoader (Container), switching thread context class loader.boolean
boolean
void
load()
Manager
implementations that also implementClusterManager
do not support local session persistence.protected void
Register cross context session at replication valve thread localvoid
setCluster
(CatalinaCluster cluster) Set the cluster associated with this manager.void
setNotifyListenersOnReplication
(boolean notifyListenersOnReplication) void
setRecordAllActions
(boolean recordAllActions) protected void
Sub-classes must ensure that the state is changed toLifecycleState.STARTING
during the execution of this method.protected void
Sub-classes must ensure that the state is changed toLifecycleState.STOPPING
during the execution of this method.void
unload()
Manager
implementations that also implementClusterManager
do not support local session persistence.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, getName, getNewSession, getNotifyAttributeListenerOnUnchangedValue, getNotifyBindingListenerOnUnchangedValue, 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, setNotifyAttributeListenerOnUnchangedValue, setNotifyBindingListenerOnUnchangedValue, 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, unregister
Methods inherited from class org.apache.catalina.util.LifecycleBase
addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stop
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.catalina.ha.ClusterManager
cloneFromTemplate, getInvalidatedSessions, getName, messageDataReceived, requestCompleted, setName
Methods inherited from interface org.apache.catalina.Manager
add, addPropertyChangeListener, backgroundProcess, changeSessionId, changeSessionId, createEmptySession, createSession, findSession, findSessions, getActiveSessions, getContext, getExpiredSessions, getMaxActive, getNotifyAttributeListenerOnUnchangedValue, getNotifyBindingListenerOnUnchangedValue, getRejectedSessions, getSessionAverageAliveTime, getSessionCounter, getSessionCreateRate, getSessionExpireRate, getSessionIdGenerator, getSessionMaxAliveTime, remove, remove, removePropertyChangeListener, rotateSessionId, setContext, setExpiredSessions, setMaxActive, setNotifyAttributeListenerOnUnchangedValue, setNotifyBindingListenerOnUnchangedValue, setSessionCounter, setSessionIdGenerator, setSessionMaxAliveTime, willAttributeDistribute
-
Field Details
-
sm
-
cluster
A reference to the cluster
-
-
Constructor Details
-
ClusterManagerBase
public ClusterManagerBase()
-
-
Method Details
-
getDeltaRequestPool
-
getCluster
- Specified by:
getCluster
in interfaceClusterManager
- Returns:
- the cluster associated with this manager
-
setCluster
Description copied from interface:ClusterManager
Set the cluster associated with this manager.- Specified by:
setCluster
in interfaceClusterManager
- Parameters:
cluster
- the cluster
-
isNotifyListenersOnReplication
public boolean isNotifyListenersOnReplication()- Specified by:
isNotifyListenersOnReplication
in interfaceClusterManager
- Returns:
true
if listeners are notified on replication
-
setNotifyListenersOnReplication
public void setNotifyListenersOnReplication(boolean notifyListenersOnReplication) -
isRecordAllActions
public boolean isRecordAllActions() -
setRecordAllActions
public void setRecordAllActions(boolean recordAllActions) -
getClassLoaders
-
getClassLoaders
-
getReplicationStream
Description copied from interface:ClusterManager
Open stream and use correct ClassLoader (Container), switching thread context class loader.- Specified by:
getReplicationStream
in interfaceClusterManager
- Parameters:
data
- the data- Returns:
- the object input stream
- Throws:
IOException
- An error occurred
-
getReplicationStream
public ReplicationStream getReplicationStream(byte[] data, int offset, int length) throws IOException Description copied from interface:ClusterManager
Open stream and use correct ClassLoader (Container), switching thread context class loader.- Specified by:
getReplicationStream
in interfaceClusterManager
- Parameters:
data
- the dataoffset
- the offset in the data arraylength
- the data length- Returns:
- the object input stream
- Throws:
IOException
- An error occurred
-
load
public void load()Manager
implementations that also implementClusterManager
do not support local session persistence. -
unload
public void unload()Manager
implementations that also implementClusterManager
do not support local session persistence. -
clone
-
registerSessionAtReplicationValve
Register cross context session at replication valve thread local- Parameters:
session
- cross context session
-
startInternal
Description copied from class:LifecycleBase
Sub-classes must ensure that the state is changed toLifecycleState.STARTING
during the execution of this method. Changing state will trigger theLifecycle.START_EVENT
event. If a component fails to start it may either throw aLifecycleException
which will cause it's parent to fail to start or it can place itself in the error state in which caseLifecycleBase.stop()
will be called on the failed component but the parent component will continue to start normally.- Overrides:
startInternal
in classManagerBase
- Throws:
LifecycleException
- Start error occurred
-
stopInternal
Description copied from class:LifecycleBase
Sub-classes must ensure that the state is changed toLifecycleState.STOPPING
during the execution of this method. Changing state will trigger theLifecycle.STOP_EVENT
event.- Overrides:
stopInternal
in classManagerBase
- Throws:
LifecycleException
- Stop error occurred
-