public abstract class ClusterManagerBase extends ManagerBase implements ClusterManager
ManagerBase.SessionTiming
Modifier and Type | Field and Description |
---|---|
protected CatalinaCluster |
cluster
A reference to the cluster
|
container, distributable, duplicates, expiredSessions, maxActive, maxActiveSessions, maxInactiveInterval, processExpiresFrequency, processingTime, rejectedSessions, secureRandomAlgorithm, secureRandomClass, secureRandomProvider, SESSION_ID_LENGTH_UNSET, sessionCounter, sessionCreationTiming, sessionExpirationTiming, sessionIdGenerator, sessionIdGeneratorClass, sessionIdLength, sessionMaxAliveTime, sessions, sm, support, TIMING_STATS_CACHE_SIZE
mserver
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 and Description |
---|
ClusterManagerBase() |
Modifier and Type | Method and Description |
---|---|
protected void |
clone(ClusterManagerBase copy) |
java.lang.ClassLoader[] |
getClassLoaders() |
static java.lang.ClassLoader[] |
getClassLoaders(Container container) |
CatalinaCluster |
getCluster() |
ReplicationStream |
getReplicationStream(byte[] data)
Open Stream and use correct ClassLoader (Container) Switch
ThreadClassLoader
|
ReplicationStream |
getReplicationStream(byte[] data,
int offset,
int length) |
java.lang.String |
getSessionAttributeFilter()
Return the string pattern used for including session attributes
to replication.
|
boolean |
isNotifyListenersOnReplication() |
boolean |
isRecordAllActions() |
void |
load()
Manager implementations that also implement
ClusterManager do not support local session persistence. |
protected void |
registerSessionAtReplicationValve(DeltaSession session)
Register cross context session at replication valve thread local
|
void |
setCluster(CatalinaCluster cluster) |
void |
setNotifyListenersOnReplication(boolean notifyListenersOnReplication) |
void |
setRecordAllActions(boolean recordAllActions) |
void |
setSessionAttributeFilter(java.lang.String sessionAttributeFilter)
Set the pattern used for including session attributes to replication.
|
protected void |
startInternal()
Sub-classes must ensure that the state is changed to
LifecycleState.STARTING during the execution of this method. |
protected void |
stopInternal()
Sub-classes must ensure that the state is changed to
LifecycleState.STOPPING during the execution of this method. |
void |
unload()
Save any currently active sessions in the appropriate persistence
mechanism, if any.
|
boolean |
willAttributeDistribute(java.lang.String name)
Check whether the given session attribute should be distributed
|
add, addPropertyChangeListener, backgroundProcess, changeSessionId, createEmptySession, createSession, expireSession, findSession, findSessions, generateSessionId, getActiveSessions, getClassName, getContainer, getCreationTime, getCreationTimestamp, getDistributable, getDomainInternal, getDuplicates, getEngine, getExpiredSessions, getInfo, getJvmRoute, getLastAccessedTime, getLastAccessedTimestamp, getMaxActive, getMaxActiveSessions, getMaxInactiveInterval, getName, getNewSession, getObjectNameKeyProperties, getProcessExpiresFrequency, getProcessingTime, getRejectedSessions, getSecureRandomAlgorithm, getSecureRandomClass, getSecureRandomProvider, getSession, getSessionAttribute, getSessionAverageAliveTime, getSessionCounter, getSessionCreateRate, getSessionExpireRate, getSessionIdGenerator, getSessionIdLength, getSessionMaxAliveTime, getThisAccessedTime, getThisAccessedTimestamp, initInternal, listSessionIds, processExpires, propertyChange, remove, remove, removePropertyChangeListener, setContainer, setDistributable, setDuplicates, setExpiredSessions, setMaxActive, setMaxActiveSessions, setMaxInactiveInterval, setProcessExpiresFrequency, setProcessingTime, setSecureRandomAlgorithm, setSecureRandomClass, setSecureRandomProvider, setSessionCounter, setSessionIdGenerator, setSessionIdLength, setSessionMaxAliveTime, toString, updateSessionMaxAliveTime
destroyInternal, getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister
addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, init, removeLifecycleListener, setState, setState, start, stop
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
cloneFromTemplate, getInvalidatedSessions, getName, messageDataReceived, requestCompleted, setName
add, addPropertyChangeListener, backgroundProcess, changeSessionId, createEmptySession, createSession, findSession, findSessions, getActiveSessions, getContainer, getDistributable, getExpiredSessions, getInfo, getMaxActive, getMaxInactiveInterval, getRejectedSessions, getSessionAverageAliveTime, getSessionCounter, getSessionCreateRate, getSessionExpireRate, getSessionIdLength, getSessionMaxAliveTime, remove, remove, removePropertyChangeListener, setContainer, setDistributable, setExpiredSessions, setMaxActive, setMaxInactiveInterval, setSessionCounter, setSessionIdLength, setSessionMaxAliveTime
protected CatalinaCluster cluster
public CatalinaCluster getCluster()
getCluster
in interface ClusterManager
public void setCluster(CatalinaCluster cluster)
setCluster
in interface ClusterManager
public boolean isNotifyListenersOnReplication()
isNotifyListenersOnReplication
in interface ClusterManager
public void setNotifyListenersOnReplication(boolean notifyListenersOnReplication)
public java.lang.String getSessionAttributeFilter()
public void setSessionAttributeFilter(java.lang.String sessionAttributeFilter)
E.g. ^(userName|sessionHistory)$
sessionAttributeFilter
- the filter name pattern to setpublic boolean isRecordAllActions()
public void setRecordAllActions(boolean recordAllActions)
public boolean willAttributeDistribute(java.lang.String name)
public static java.lang.ClassLoader[] getClassLoaders(Container container)
public java.lang.ClassLoader[] getClassLoaders()
public ReplicationStream getReplicationStream(byte[] data) throws java.io.IOException
getReplicationStream
in interface ClusterManager
data
- java.io.IOException
public ReplicationStream getReplicationStream(byte[] data, int offset, int length) throws java.io.IOException
getReplicationStream
in interface ClusterManager
java.io.IOException
public void load()
Manager
implementations that also implement
ClusterManager
do not support local session persistence.public void unload()
Manager
protected void clone(ClusterManagerBase copy)
protected void registerSessionAtReplicationValve(DeltaSession session)
session
- cross context sessionprotected void startInternal() throws LifecycleException
LifecycleBase
LifecycleState.STARTING
during the execution of this method.
Changing state will trigger the Lifecycle.START_EVENT
event.
If a component fails to start it may either throw a
LifecycleException
which will cause it's parent to fail to start
or it can place itself in the error state in which case LifecycleBase.stop()
will be called on the failed component but the parent component will
continue to start normally.startInternal
in class ManagerBase
LifecycleException
protected void stopInternal() throws LifecycleException
LifecycleBase
LifecycleState.STOPPING
during the execution of this method.
Changing state will trigger the Lifecycle.STOP_EVENT
event.stopInternal
in class ManagerBase
LifecycleException
Copyright © 2000-2015 Apache Software Foundation. All Rights Reserved.