Class DeltaSessionManager<CommitSessionValveT extends AbstractCommitSessionValve<?>>

    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.apache.catalina.session.ManagerBase

        org.apache.catalina.session.ManagerBase.SessionTiming
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.lang.String name
      The name of this Manager
      protected java.lang.String regionName  
      protected java.util.concurrent.atomic.AtomicBoolean started
      Has this Manager been started?
      • Fields inherited from class org.apache.catalina.session.ManagerBase

        algorithm, container, DEFAULT_ALGORITHM, devRandomSource, digest, distributable, domain, duplicates, entropy, expiredSessions, initialized, log, maxActive, maxInactiveInterval, mserver, oname, processExpiresFrequency, processingTime, random, randomClass, randomIS, sessionAverageAliveTime, sessionCounter, sessionCreationTiming, sessionExpirationTiming, sessionIdLength, sessionMaxAliveTime, sessions, sm, support, TIMING_STATS_CACHE_SIZE
      • Fields inherited from interface org.apache.catalina.Lifecycle

        AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, DESTROY_EVENT, INIT_EVENT, PERIODIC_EVENT, START_EVENT, STOP_EVENT
    • Field Detail

      • started

        protected java.util.concurrent.atomic.AtomicBoolean started
        Has this Manager been started?
      • name

        protected java.lang.String name
        The name of this Manager
      • regionName

        protected java.lang.String regionName
    • Constructor Detail

      • DeltaSessionManager

        public DeltaSessionManager()
    • Method Detail

      • setRegionName

        public void setRegionName​(java.lang.String regionName)
      • setMaxInactiveInterval

        public void setMaxInactiveInterval​(int interval)
        Specified by:
        setMaxInactiveInterval in interface org.apache.catalina.Manager
        Overrides:
        setMaxInactiveInterval in class org.apache.catalina.session.ManagerBase
      • setRegionAttributesId

        public void setRegionAttributesId​(java.lang.String regionType)
      • setEnableLocalCache

        public void setEnableLocalCache​(boolean enableLocalCache)
      • getMaxActiveSessions

        public int getMaxActiveSessions()
      • setMaxActiveSessions

        public void setMaxActiveSessions​(int maxActiveSessions)
      • setEnableGatewayDeltaReplication

        public void setEnableGatewayDeltaReplication​(boolean enableGatewayDeltaReplication)
      • setEnableGatewayReplication

        public void setEnableGatewayReplication​(boolean enableGatewayReplication)
      • setEnableDebugListener

        public void setEnableDebugListener​(boolean enableDebugListener)
      • setEnableCommitValve

        public void setEnableCommitValve​(boolean enable)
      • setEnableCommitValveFailfast

        public void setEnableCommitValveFailfast​(boolean enable)
      • setPreferDeserializedForm

        @Deprecated
        public void setPreferDeserializedForm​(boolean enable)
        Deprecated.
        No replacement. Always prefer deserialized form.
      • getPreferDeserializedForm

        @Deprecated
        public boolean getPreferDeserializedForm()
        Deprecated.
        No replacement. Always prefer deserialized form.
        Specified by:
        getPreferDeserializedForm in interface SessionManager
        Returns:
        whether to prefer deserialized form
      • getStatistics

        public org.apache.geode.modules.session.catalina.internal.DeltaSessionStatistics getStatistics()
      • isClientServer

        public boolean isClientServer()
      • setContainer

        public void setContainer​(org.apache.catalina.Container container)
        This method was taken from StandardManager to set the default maxInactiveInterval based on the container (to 30 minutes).

        Set the Container with which this Manager has been associated. If it is a Context (the usual case), listen for changes to the session timeout property.

        Specified by:
        setContainer in interface org.apache.catalina.Manager
        Overrides:
        setContainer in class org.apache.catalina.session.ManagerBase
        Parameters:
        container - The associated Container
      • findSession

        public org.apache.catalina.Session findSession​(java.lang.String id)
        Specified by:
        findSession in interface org.apache.catalina.Manager
        Overrides:
        findSession in class org.apache.catalina.session.ManagerBase
      • initializeSessionCache

        protected void initializeSessionCache()
      • getNewSession

        protected org.apache.catalina.session.StandardSession getNewSession()
        Overrides:
        getNewSession in class org.apache.catalina.session.ManagerBase
      • remove

        public void remove​(org.apache.catalina.Session session)
        Specified by:
        remove in interface org.apache.catalina.Manager
        Overrides:
        remove in class org.apache.catalina.session.ManagerBase
      • add

        public void add​(org.apache.catalina.Session session)
        Specified by:
        add in interface org.apache.catalina.Manager
        Overrides:
        add in class org.apache.catalina.session.ManagerBase
      • getRejectedSessions

        public int getRejectedSessions()
        Specified by:
        getRejectedSessions in interface org.apache.catalina.Manager
      • setRejectedSessions

        public void setRejectedSessions​(int rejectedSessions)
        Specified by:
        setRejectedSessions in interface org.apache.catalina.Manager
      • getActiveSessions

        public int getActiveSessions()
        Returns the number of active sessions
        Specified by:
        getActiveSessions in interface org.apache.catalina.Manager
        Overrides:
        getActiveSessions in class org.apache.catalina.session.ManagerBase
        Returns:
        number of sessions active
      • listSessionIds

        public java.lang.String listSessionIds()
        For debugging: return a list of all session ids currently active
        Overrides:
        listSessionIds in class org.apache.catalina.session.ManagerBase
      • getSessionsToTouch

        protected java.util.Set<java.lang.String> getSessionsToTouch()
      • scheduleTimerTasks

        protected void scheduleTimerTasks()
      • cancelTimer

        protected void cancelTimer()
      • load

        public void load()
                  throws java.lang.ClassNotFoundException,
                         java.io.IOException
        Specified by:
        load in interface org.apache.catalina.Manager
        Throws:
        java.lang.ClassNotFoundException
        java.io.IOException
      • unload

        public void unload()
                    throws java.io.IOException
        Specified by:
        unload in interface org.apache.catalina.Manager
        Throws:
        java.io.IOException
      • registerJvmRouteBinderValve

        protected void registerJvmRouteBinderValve()
      • unregisterJvmRouteBinderValve

        protected void unregisterJvmRouteBinderValve()
      • registerCommitSessionValve

        protected void registerCommitSessionValve()
      • unregisterCommitSessionValve

        protected void unregisterCommitSessionValve()
      • propertyChange

        public void propertyChange​(java.beans.PropertyChangeEvent event)
        Process property change events from our associated Context.

        Part of this method implementation was taken from StandardManager. The sessionTimeout can be changed in the web.xml which is processed after the context.xml. The context (and the default session timeout) would already have been set in this Manager. This is the way to get the new session timeout value specified in the web.xml.

        The precedence order for setting the session timeout value is:

        1. the max inactive interval is set based on the Manager defined in the context.xml
        2. the max inactive interval is then overwritten by the value of the Context's session timeout when setContainer is called
        3. the max inactive interval is then overwritten by the value of the session-timeout specified in the web.xml (if any)
        Specified by:
        propertyChange in interface java.beans.PropertyChangeListener
        Parameters:
        event - The property change event that has occurred
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • getTheContext

        public org.apache.catalina.Context getTheContext()