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:
javax.management.MBeanRegistration
,ClusterManager
,JmxEnabled
,Lifecycle
,Manager
- Direct Known Subclasses:
BackupManager
,DeltaManager
public abstract class ClusterManagerBase extends ManagerBase implements ClusterManager
-
-
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 CatalinaCluster
cluster
A reference to the cluster-
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 ClusterManagerBase()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
clone(ClusterManagerBase copy)
java.lang.ClassLoader[]
getClassLoaders()
static java.lang.ClassLoader[]
getClassLoaders(Context context)
CatalinaCluster
getCluster()
protected SynchronizedStack<DeltaRequest>
getDeltaRequestPool()
ReplicationStream
getReplicationStream(byte[] data)
Open stream and use correct ClassLoader (Container), switching thread context class loader.ReplicationStream
getReplicationStream(byte[] data, int offset, int length)
boolean
isNotifyListenersOnReplication()
boolean
isRecordAllActions()
void
load()
Manager
implementations that also implementClusterManager
do not support local session persistence.protected void
registerSessionAtReplicationValve(DeltaSession session)
Register cross context session at replication valve thread localvoid
setCluster(CatalinaCluster cluster)
void
setNotifyListenersOnReplication(boolean notifyListenersOnReplication)
void
setRecordAllActions(boolean recordAllActions)
protected void
startInternal()
Sub-classes must ensure that the state is changed toLifecycleState.STARTING
during the execution of this method.protected void
stopInternal()
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, 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, 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
-
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, createEmptySession, createSession, findSession, findSessions, getActiveSessions, getContext, getExpiredSessions, getMaxActive, getNotifyAttributeListenerOnUnchangedValue, getNotifyBindingListenerOnUnchangedValue, getRejectedSessions, getSessionActivityCheck, getSessionAverageAliveTime, getSessionCounter, getSessionCreateRate, getSessionExpireRate, getSessionIdGenerator, getSessionLastAccessAtStart, getSessionMaxAliveTime, remove, remove, removePropertyChangeListener, rotateSessionId, setContext, setExpiredSessions, setMaxActive, setNotifyAttributeListenerOnUnchangedValue, setNotifyBindingListenerOnUnchangedValue, setSessionActivityCheck, setSessionCounter, setSessionIdGenerator, setSessionLastAccessAtStart, setSessionMaxAliveTime, willAttributeDistribute
-
-
-
-
Field Detail
-
cluster
protected CatalinaCluster cluster
A reference to the cluster
-
-
Method Detail
-
getDeltaRequestPool
protected SynchronizedStack<DeltaRequest> getDeltaRequestPool()
-
getCluster
public CatalinaCluster getCluster()
- Specified by:
getCluster
in interfaceClusterManager
-
setCluster
public void setCluster(CatalinaCluster cluster)
- Specified by:
setCluster
in interfaceClusterManager
-
isNotifyListenersOnReplication
public boolean isNotifyListenersOnReplication()
- Specified by:
isNotifyListenersOnReplication
in interfaceClusterManager
-
setNotifyListenersOnReplication
public void setNotifyListenersOnReplication(boolean notifyListenersOnReplication)
-
isRecordAllActions
public boolean isRecordAllActions()
-
setRecordAllActions
public void setRecordAllActions(boolean recordAllActions)
-
getClassLoaders
public static java.lang.ClassLoader[] getClassLoaders(Context context)
-
getClassLoaders
public java.lang.ClassLoader[] getClassLoaders()
-
getReplicationStream
public ReplicationStream getReplicationStream(byte[] data) throws java.io.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 data- Returns:
- The object input stream
- Throws:
java.io.IOException
- An error occurred
-
getReplicationStream
public ReplicationStream getReplicationStream(byte[] data, int offset, int length) throws java.io.IOException
- Specified by:
getReplicationStream
in interfaceClusterManager
- Throws:
java.io.IOException
-
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
protected void clone(ClusterManagerBase copy)
-
registerSessionAtReplicationValve
protected void registerSessionAtReplicationValve(DeltaSession session)
Register cross context session at replication valve thread local- Parameters:
session
- cross context session
-
startInternal
protected void startInternal() throws LifecycleException
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
protected void stopInternal() throws LifecycleException
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
-
-