Class CarbonTomcatClusterableSessionManager
java.lang.Object
org.apache.catalina.util.LifecycleBase
org.apache.catalina.util.LifecycleMBeanBase
org.apache.catalina.session.ManagerBase
org.apache.catalina.ha.session.ClusterManagerBase
org.apache.catalina.ha.session.DeltaManager
org.wso2.carbon.webapp.mgt.session.CarbonTomcatClusterableSessionManager
- All Implemented Interfaces:
MBeanRegistration,org.apache.catalina.ha.ClusterManager,org.apache.catalina.JmxEnabled,org.apache.catalina.Lifecycle,org.apache.catalina.Manager
public class CarbonTomcatClusterableSessionManager
extends org.apache.catalina.ha.session.DeltaManager
A Clusterable SessionManager implementation which ensures that sessions of distributable
webapps are replicated across cluster nodes.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.catalina.session.ManagerBase
org.apache.catalina.session.ManagerBase.SessionTimingNested classes/interfaces inherited from interface org.apache.catalina.Lifecycle
org.apache.catalina.Lifecycle.SingleUse -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final org.apache.tomcat.util.res.StringManagerThe string manager for this package.Fields inherited from class org.apache.catalina.ha.session.DeltaManager
nameFields inherited from class org.apache.catalina.ha.session.ClusterManagerBase
clusterFields 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_SIZEFields inherited from class org.apache.catalina.util.LifecycleMBeanBase
mserverFields 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 -
Method Summary
Modifier and TypeMethodDescriptionvoidchangeSessionId(org.apache.catalina.Session session, boolean notify) org.apache.catalina.ha.ClusterManagervoidclusterMessageReceived(org.apache.catalina.ha.ClusterMessage msg) org.apache.catalina.SessionfindSession(String id) org.apache.catalina.Session[]intvoidlongintintintintgetSessionReplicationMessage(String sessionId, boolean expires) protected voidhandleGET_ALL_SESSIONS(org.apache.catalina.ha.session.SessionMessage msg, org.apache.catalina.tribes.Member sender) voidreplicateSessions(org.apache.catalina.Session session) protected voidsendCreateSession(String sessionId, org.apache.catalina.ha.session.DeltaSession session) protected voidsendSessions(org.apache.catalina.tribes.Member sender, org.apache.catalina.Session[] currentSessions, long sendTimestamp) protected voidsessionExpired(String id) voidsetOwnerTenantId(int ownerTenantId) Methods inherited from class org.apache.catalina.ha.session.DeltaManager
changeSessionId, changeSessionId, changeSessionId, createEmptySession, createSession, createSession, deserializeDeltaRequest, deserializeSessionId, deserializeSessions, expireAllLocalSessions, findSessionMasterMember, getCounterNoStateTransfered, getCounterReceive_EVT_ALL_SESSION_DATA, getCounterReceive_EVT_ALL_SESSION_NOCONTEXTMANAGER, getCounterReceive_EVT_ALL_SESSION_TRANSFERCOMPLETE, getCounterReceive_EVT_CHANGE_SESSION_ID, getCounterReceive_EVT_GET_ALL_SESSIONS, getCounterReceive_EVT_SESSION_ACCESSED, getCounterReceive_EVT_SESSION_CREATED, getCounterReceive_EVT_SESSION_DELTA, getCounterReceive_EVT_SESSION_EXPIRED, getCounterSend_EVT_ALL_SESSION_DATA, getCounterSend_EVT_ALL_SESSION_TRANSFERCOMPLETE, getCounterSend_EVT_CHANGE_SESSION_ID, getCounterSend_EVT_GET_ALL_SESSIONS, getCounterSend_EVT_SESSION_ACCESSED, getCounterSend_EVT_SESSION_CREATED, getCounterSend_EVT_SESSION_DELTA, getCounterSend_EVT_SESSION_EXPIRED, getInvalidatedSessions, getName, getNewDeltaSession, getProcessingTime, getReceivedQueueSize, getSendAllSessionsSize, getSendAllSessionsWaitTime, getSessionReplaceCounter, getStateTransfered, getStateTransferTimeout, handleALL_SESSION_DATA, handleALL_SESSION_NOCONTEXTMANAGER, handleALL_SESSION_TRANSFERCOMPLETE, handleCHANGE_SESSION_ID, handleSESSION_ACCESSED, handleSESSION_CREATED, handleSESSION_DELTA, handleSESSION_EXPIRED, isExpireSessionsOnShutdown, isNoContextManagerReceived, isNotifyContainerListenersOnReplication, isNotifySessionListenersOnReplication, isSendAllSessions, isStateTimestampDrop, messageDataReceived, messageReceived, requestCompleted, requestCompleted, resetStatistics, rotateSessionId, rotateSessionId, send, sendChangeSessionId, serializeDeltaRequest, serializeSessionId, serializeSessions, setExpireSessionsOnShutdown, setName, setNoContextManagerReceived, setNotifyContainerListenersOnReplication, setNotifySessionListenersOnReplication, setSendAllSessions, setSendAllSessionsSize, setSendAllSessionsWaitTime, setStateTimestampDrop, setStateTransfered, setStateTransferTimeout, startInternal, stopInternal, waitForSendAllSessionsMethods inherited from class org.apache.catalina.ha.session.ClusterManagerBase
clone, getClassLoaders, getClassLoaders, getCluster, getDeltaRequestPool, getReplicationStream, getReplicationStream, isNotifyListenersOnReplication, isRecordAllActions, load, registerSessionAtReplicationValve, setCluster, setNotifyListenersOnReplication, setRecordAllActions, unloadMethods inherited from class org.apache.catalina.session.ManagerBase
add, addPropertyChangeListener, backgroundProcess, changeSessionId, expireSession, generateSessionId, getClassName, getContext, getCreationTime, getCreationTimestamp, getDomainInternal, getDuplicates, getEngine, getJvmRoute, getLastAccessedTime, getLastAccessedTimestamp, getMaxActiveSessions, getNewSession, getNotifyAttributeListenerOnUnchangedValue, getNotifyBindingListenerOnUnchangedValue, getObjectNameKeyProperties, getPersistAuthentication, getProcessExpiresFrequency, getSecureRandomAlgorithm, getSecureRandomClass, getSecureRandomProvider, getSession, getSessionAttribute, getSessionAttributeNameFilter, getSessionAttributeNamePattern, getSessionAttributeValueClassNameFilter, getSessionAttributeValueClassNamePattern, getSessionCounter, getSessionCreateRate, getSessionExpireRate, getSessionIdGenerator, getThisAccessedTime, getThisAccessedTimestamp, getWarnOnSessionAttributeFilterFailure, initInternal, listSessionIds, processExpires, remove, remove, removePropertyChangeListener, setContext, setDuplicates, setExpiredSessions, setMaxActive, setMaxActiveSessions, setNotifyAttributeListenerOnUnchangedValue, setNotifyBindingListenerOnUnchangedValue, setPersistAuthentication, setProcessExpiresFrequency, setProcessingTime, setSecureRandomAlgorithm, setSecureRandomClass, setSecureRandomProvider, setSessionAttributeNameFilter, setSessionAttributeValueClassNameFilter, setSessionCounter, setSessionIdGenerator, setSessionMaxAliveTime, setWarnOnSessionAttributeFilterFailure, toString, updateSessionMaxAliveTime, willAttributeDistributeMethods inherited from class org.apache.catalina.util.LifecycleMBeanBase
destroyInternal, getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister, unregisterMethods inherited from class org.apache.catalina.util.LifecycleBase
addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stopMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.catalina.Manager
add, addPropertyChangeListener, backgroundProcess, getContext, getNotifyAttributeListenerOnUnchangedValue, getNotifyBindingListenerOnUnchangedValue, getSessionCounter, getSessionCreateRate, getSessionExpireRate, getSessionIdGenerator, remove, remove, removePropertyChangeListener, setContext, setExpiredSessions, setMaxActive, setNotifyAttributeListenerOnUnchangedValue, setNotifyBindingListenerOnUnchangedValue, setSessionCounter, setSessionIdGenerator, setSessionMaxAliveTime, willAttributeDistribute
-
Field Details
-
sm
protected static final org.apache.tomcat.util.res.StringManager smThe string manager for this package.
-
-
Constructor Details
-
CarbonTomcatClusterableSessionManager
public CarbonTomcatClusterableSessionManager() -
CarbonTomcatClusterableSessionManager
public CarbonTomcatClusterableSessionManager(int ownerTenantId)
-
-
Method Details
-
setOwnerTenantId
public void setOwnerTenantId(int ownerTenantId) -
getRejectedSessions
public int getRejectedSessions()- Specified by:
getRejectedSessionsin interfaceorg.apache.catalina.Manager- Overrides:
getRejectedSessionsin classorg.apache.catalina.session.ManagerBase
-
getExpiredSessions
public long getExpiredSessions()- Specified by:
getExpiredSessionsin interfaceorg.apache.catalina.Manager- Overrides:
getExpiredSessionsin classorg.apache.catalina.session.ManagerBase
-
findSession
- Specified by:
findSessionin interfaceorg.apache.catalina.Manager- Overrides:
findSessionin classorg.apache.catalina.session.ManagerBase- Throws:
IOException
-
findSessions
public org.apache.catalina.Session[] findSessions()- Specified by:
findSessionsin interfaceorg.apache.catalina.Manager- Overrides:
findSessionsin classorg.apache.catalina.session.ManagerBase
-
getMaxActive
public int getMaxActive()- Specified by:
getMaxActivein interfaceorg.apache.catalina.Manager- Overrides:
getMaxActivein classorg.apache.catalina.session.ManagerBase
-
getSessionAverageAliveTime
public int getSessionAverageAliveTime()- Specified by:
getSessionAverageAliveTimein interfaceorg.apache.catalina.Manager- Overrides:
getSessionAverageAliveTimein classorg.apache.catalina.session.ManagerBase
-
getSessionMaxAliveTime
public int getSessionMaxAliveTime()- Specified by:
getSessionMaxAliveTimein interfaceorg.apache.catalina.Manager- Overrides:
getSessionMaxAliveTimein classorg.apache.catalina.session.ManagerBase
-
getActiveSessions
public int getActiveSessions()- Specified by:
getActiveSessionsin interfaceorg.apache.catalina.Manager- Overrides:
getActiveSessionsin classorg.apache.catalina.session.ManagerBase
-
getSessionReplicationMessage
public CarbonSessionReplicationMessage getSessionReplicationMessage(String sessionId, boolean expires) -
replicateSessions
public void replicateSessions(org.apache.catalina.Session session) -
clusterMessageReceived
public void clusterMessageReceived(org.apache.catalina.ha.ClusterMessage msg) -
sessionExpired
- Overrides:
sessionExpiredin classorg.apache.catalina.ha.session.DeltaManager
-
handleGET_ALL_SESSIONS
protected void handleGET_ALL_SESSIONS(org.apache.catalina.ha.session.SessionMessage msg, org.apache.catalina.tribes.Member sender) throws IOException - Overrides:
handleGET_ALL_SESSIONSin classorg.apache.catalina.ha.session.DeltaManager- Throws:
IOException
-
sendSessions
protected void sendSessions(org.apache.catalina.tribes.Member sender, org.apache.catalina.Session[] currentSessions, long sendTimestamp) throws IOException - Overrides:
sendSessionsin classorg.apache.catalina.ha.session.DeltaManager- Throws:
IOException
-
sendCreateSession
protected void sendCreateSession(String sessionId, org.apache.catalina.ha.session.DeltaSession session) - Overrides:
sendCreateSessionin classorg.apache.catalina.ha.session.DeltaManager
-
changeSessionId
public void changeSessionId(org.apache.catalina.Session session, boolean notify) - Overrides:
changeSessionIdin classorg.apache.catalina.ha.session.DeltaManager
-
getAllClusterSessions
public void getAllClusterSessions()- Overrides:
getAllClusterSessionsin classorg.apache.catalina.ha.session.DeltaManager
-
cloneFromTemplate
public org.apache.catalina.ha.ClusterManager cloneFromTemplate()- Specified by:
cloneFromTemplatein interfaceorg.apache.catalina.ha.ClusterManager- Overrides:
cloneFromTemplatein classorg.apache.catalina.ha.session.DeltaManager
-
getQueuedSessionMsgMap
-