org.eclipse.jetty.server.session

## Class AbstractSessionManager

- java.lang.Object
- - org.eclipse.jetty.util.component.AbstractLifeCycle
  - - org.eclipse.jetty.server.session.AbstractSessionManager

- All Implemented Interfaces:
    SessionManager, LifeCycle
  Direct Known Subclasses:
    HashSessionManager, JDBCSessionManager

      public abstract class AbstractSessionManager
      extends AbstractLifeCycle
      implements SessionManager

  An Abstract implementation of SessionManager. The partial implementation of SessionManager interface provides the majority of the handling required to implement a SessionManager. Concrete implementations of SessionManager based on AbstractSessionManager need only implement the newSession method to return a specialised version of the Session inner class that provides an attribute Map.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static interface` | `AbstractSessionManager.SessionIf` Interface that any session wrapper should implement so that SessionManager may access the Jetty session implementation.

    - ### Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

      `AbstractLifeCycle.AbstractLifeCycleListener`

    - ### Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle

      `LifeCycle.Listener`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `__distantFuture`
    `protected boolean` | `_checkingRemoteSessionIdEncoding`
    `protected ContextHandler.Context` | `_context`
    `protected int` | `_dftMaxIdleSecs`
    `protected boolean` | `_httpOnly`
    `protected ClassLoader` | `_loader`
    `protected int` | `_maxCookieAge`
    `protected boolean` | `_nodeIdInSessionId`
    `protected int` | `_refreshCookieAge`
    `protected boolean` | `_secureCookies`
    `protected List<javax.servlet.http.HttpSessionAttributeListener>` | `_sessionAttributeListeners`
    `protected String` | `_sessionCookie`
    `protected String` | `_sessionDomain`
    `protected SessionHandler` | `_sessionHandler`
    `protected SessionIdManager` | `_sessionIdManager`
    `protected String` | `_sessionIdPathParameterName`
    `protected String` | `_sessionIdPathParameterNamePrefix`
    `protected List<javax.servlet.http.HttpSessionListener>` | `_sessionListeners`
    `protected String` | `_sessionPath`
    `protected CounterStatistic` | `_sessionsStats`
    `protected SampleStatistic` | `_sessionTimeStats`
    `static String` | `SESSION_KNOWN_ONLY_TO_AUTHENTICATED`

    - ### Fields inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

      `_listeners, FAILED, RUNNING, STARTED, STARTING, STOPPED, STOPPING`

    - ### Fields inherited from interface org.eclipse.jetty.server.SessionManager

      `__CheckRemoteSessionEncoding, __DefaultSessionCookie, __DefaultSessionDomain, __DefaultSessionIdPathParameterName, __MaxAgeProperty, __SessionCookieProperty, __SessionDomainProperty, __SessionIdPathParameterNameProperty, __SessionPathProperty`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractSessionManager()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `HttpCookie` | `access(javax.servlet.http.HttpSession session, boolean secure)` Called by the `SessionHandler` when a session is first accessed by a request.
    `void` | `addEventListener(EventListener listener)` Adds an event listener for session-related events.
    `protected abstract void` | `addSession(AbstractSession session)`
    `protected void` | `addSession(AbstractSession session, boolean created)` Add the session Registers the session with this manager and registers the session ID with the sessionIDManager;
    `void` | `clearEventListeners()` Removes all event listeners for session-related events.
    `void` | `complete(javax.servlet.http.HttpSession session)` Called by the `SessionHandler` when a session is last accessed by a request.
    `void` | `doSessionAttributeListeners(AbstractSession session, String name, Object old, Object value)`
    `void` | `doStart()`
    `void` | `doStop()`
    `String` | `getClusterId(javax.servlet.http.HttpSession session)`
    `ContextHandler.Context` | `getContext()`
    `ContextHandler` | `getContextHandler()`
    `boolean` | `getHttpOnly()`
    `javax.servlet.http.HttpSession` | `getHttpSession(String nodeId)` Returns the `HttpSession` with the given session id
    `SessionIdManager` | `getIdManager()` Deprecated. Use `getSessionIdManager()`
    `int` | `getMaxCookieAge()`
    `int` | `getMaxInactiveInterval()`
    `int` | `getMaxSessions()` Deprecated.
    `SessionIdManager` | `getMetaManager()` Deprecated. use `getSessionIdManager()`
    `int` | `getMinSessions()` Deprecated. always returns 0. no replacement available.
    `String` | `getNodeId(javax.servlet.http.HttpSession session)`
    `int` | `getRefreshCookieAge()`
    `boolean` | `getSecureCookies()`
    `abstract AbstractSession` | `getSession(String idInCluster)` Get a known existing session
    `String` | `getSessionCookie()`
    `HttpCookie` | `getSessionCookie(javax.servlet.http.HttpSession session, String contextPath, boolean requestIsSecure)` Gets a Cookie for a session.
    `String` | `getSessionDomain()`
    `SessionHandler` | `getSessionHandler()`
    `SessionIdManager` | `getSessionIdManager()`
    `String` | `getSessionIdPathParameterName()`
    `String` | `getSessionIdPathParameterNamePrefix()`
    `Map` | `getSessionMap()` Deprecated. Need to review if it is needed.
    `String` | `getSessionPath()`
    `int` | `getSessions()`
    `int` | `getSessionsMax()`
    `int` | `getSessionsTotal()`
    `long` | `getSessionTimeMax()`
    `double` | `getSessionTimeMean()`
    `double` | `getSessionTimeStdDev()`
    `long` | `getSessionTimeTotal()`
    `protected abstract void` | `invalidateSessions()`
    `boolean` | `isCheckingRemoteSessionIdEncoding()`
    `boolean` | `isNodeIdInSessionId()`
    `boolean` | `isUsingCookies()`
    `boolean` | `isValid(javax.servlet.http.HttpSession session)`
    `javax.servlet.http.HttpSession` | `newHttpSession(javax.servlet.http.HttpServletRequest request)` Create a new HttpSession for a request
    `protected abstract AbstractSession` | `newSession(javax.servlet.http.HttpServletRequest request)` Create a new session instance
    `void` | `removeEventListener(EventListener listener)` Removes an event listener for for session-related events.
    `void` | `removeSession(AbstractSession session, boolean invalidate)` Remove session from manager
    `void` | `removeSession(javax.servlet.http.HttpSession session, boolean invalidate)` Remove session from manager
    `protected abstract boolean` | `removeSession(String idInCluster)`
    `static javax.servlet.http.HttpSession` | `renewSession(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpSession httpSession, boolean authenticated)`
    `void` | `resetStats()` Deprecated.
    `void` | `setCheckingRemoteSessionIdEncoding(boolean remote)`
    `void` | `setHttpOnly(boolean httpOnly)`
    `void` | `setIdManager(SessionIdManager metaManager)` Deprecated. use `setSessionIdManager(SessionIdManager)`
    `void` | `setMaxCookieAge(int maxCookieAgeInSeconds)` Sets the max age to set on the session cookie, in seconds
    `void` | `setMaxInactiveInterval(int seconds)` Sets the max period of inactivity, after which the session is invalidated, in seconds.
    `void` | `setMetaManager(SessionIdManager metaManager)` Deprecated. use `setSessionIdManager(SessionIdManager)`
    `void` | `setNodeIdInSessionId(boolean nodeIdInSessionId)`
    `void` | `setRefreshCookieAge(int ageInSeconds)`
    `void` | `setSecureCookies(boolean secureCookies)` Set if the session manager should use SecureCookies.
    `void` | `setSessionCookie(String cookieName)` Sets the session cookie name.
    `void` | `setSessionDomain(String domain)` Sets the domain to set on the session cookie
    `void` | `setSessionHandler(SessionHandler sessionHandler)` Sets the `SessionHandler`.
    `void` | `setSessionIdManager(SessionIdManager metaManager)` Sets the cross context session id manager
    `void` | `setSessionIdPathParameterName(String param)` Sets the session id URL path parameter name.
    `void` | `setSessionPath(String path)` Sets the path to set on the session cookie
    `void` | `setUsingCookies(boolean usingCookies)`
    `void` | `statsReset()` Reset statistics values

    - ### Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

      `addLifeCycleListener, getState, getState, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.eclipse.jetty.util.component.LifeCycle

      `addLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop`

- - ### Field Detail

    - #### SESSION_KNOWN_ONLY_TO_AUTHENTICATED

          public static final String SESSION_KNOWN_ONLY_TO_AUTHENTICATED

      See Also:
        Constant Field Values

    - #### __distantFuture

          public static final int __distantFuture

      See Also:
        Constant Field Values

    - #### _dftMaxIdleSecs

          protected int _dftMaxIdleSecs

    - #### _sessionHandler

          protected SessionHandler _sessionHandler

    - #### _httpOnly

          protected boolean _httpOnly

    - #### _sessionIdManager

          protected SessionIdManager _sessionIdManager

    - #### _secureCookies

          protected boolean _secureCookies

    - #### _sessionAttributeListeners

          protected final List<javax.servlet.http.HttpSessionAttributeListener> _sessionAttributeListeners

    - #### _sessionListeners

          protected final List<javax.servlet.http.HttpSessionListener> _sessionListeners

    - #### _loader

          protected ClassLoader _loader

    - #### _context

          protected ContextHandler.Context _context

    - #### _sessionCookie

          protected String _sessionCookie

    - #### _sessionIdPathParameterName

          protected String _sessionIdPathParameterName

    - #### _sessionIdPathParameterNamePrefix

          protected String _sessionIdPathParameterNamePrefix

    - #### _sessionDomain

          protected String _sessionDomain

    - #### _sessionPath

          protected String _sessionPath

    - #### _maxCookieAge

          protected int _maxCookieAge

    - #### _refreshCookieAge

          protected int _refreshCookieAge

    - #### _nodeIdInSessionId

          protected boolean _nodeIdInSessionId

    - #### _checkingRemoteSessionIdEncoding

          protected boolean _checkingRemoteSessionIdEncoding

    - #### _sessionsStats

          protected final CounterStatistic _sessionsStats

    - #### _sessionTimeStats

          protected final SampleStatistic _sessionTimeStats

  - ### Constructor Detail

    - #### AbstractSessionManager

          public AbstractSessionManager()

  - ### Method Detail

    - #### renewSession

          public static javax.servlet.http.HttpSession renewSession(javax.servlet.http.HttpServletRequest request,
                                                    javax.servlet.http.HttpSession httpSession,
                                                    boolean authenticated)

    - #### getContext

          public ContextHandler.Context getContext()

    - #### getContextHandler

          public ContextHandler getContextHandler()

    - #### access

          public HttpCookie access(javax.servlet.http.HttpSession session,
                          boolean secure)

      Description copied from interface: `SessionManager`
      Called by the `SessionHandler` when a session is first accessed by a request.
      Specified by:
        `access` in interface `SessionManager`
      Parameters:
        `session` - the session object
        `secure` - whether the request is secure or not
      Returns:
        the session cookie. If not null, this cookie should be set on the response to either migrate the session or to refresh a session cookie that may expire.
      See Also:
        `SessionManager.complete(HttpSession)`

    - #### addEventListener

          public void addEventListener(EventListener listener)

      Description copied from interface: `SessionManager`
      Adds an event listener for session-related events.
      Specified by:
        `addEventListener` in interface `SessionManager`
      Parameters:
        `listener` - the session event listener to add Individual SessionManagers implementations may accept arbitrary listener types, but they are expected to at least handle HttpSessionActivationListener, HttpSessionAttributeListener, HttpSessionBindingListener and HttpSessionListener.
      See Also:
        `SessionManager.removeEventListener(EventListener)`

    - #### clearEventListeners

          public void clearEventListeners()

      Description copied from interface: `SessionManager`
      Removes all event listeners for session-related events.
      Specified by:
        `clearEventListeners` in interface `SessionManager`
      See Also:
        `SessionManager.removeEventListener(EventListener)`

    - #### complete

          public void complete(javax.servlet.http.HttpSession session)

      Description copied from interface: `SessionManager`
      Called by the `SessionHandler` when a session is last accessed by a request.
      Specified by:
        `complete` in interface `SessionManager`
      Parameters:
        `session` - the session object
      See Also:
        `SessionManager.access(HttpSession, boolean)`

    - #### doStart

          public void doStart()
                       throws Exception

      Overrides:
        `doStart` in class `AbstractLifeCycle`
      Throws:
        `Exception`

    - #### doStop

          public void doStop()
                      throws Exception

      Overrides:
        `doStop` in class `AbstractLifeCycle`
      Throws:
        `Exception`

    - #### getHttpOnly

          public boolean getHttpOnly()

      Specified by:
        `getHttpOnly` in interface `SessionManager`
      Returns:
        Returns the httpOnly.
      See Also:
        `HttpCookie.isHttpOnly()`

    - #### getHttpSession

          public javax.servlet.http.HttpSession getHttpSession(String nodeId)

      Description copied from interface: `SessionManager`
      Returns the `HttpSession` with the given session id
      Specified by:
        `getHttpSession` in interface `SessionManager`
      Parameters:
        `nodeId` - the session id
      Returns:
        the `HttpSession` with the corresponding id or null if no session with the given id exists

    - #### getIdManager

          public SessionIdManager getIdManager()

      Deprecated. Use `getSessionIdManager()`
      Returns:
        Returns the metaManager used for cross context session management

    - #### getSessionIdManager

          public SessionIdManager getSessionIdManager()

      Specified by:
        `getSessionIdManager` in interface `SessionManager`
      Returns:
        Returns the SessionIdManager used for cross context session management
      See Also:
        `SessionManager.setSessionIdManager(SessionIdManager)`

    - #### getMaxCookieAge

          public int getMaxCookieAge()

      Specified by:
        `getMaxCookieAge` in interface `SessionManager`
      Returns:
        the max age to set on the session cookie, in seconds
      See Also:
        `SessionManager.setMaxCookieAge(int)`

    - #### getMaxInactiveInterval

          public int getMaxInactiveInterval()

      Specified by:
        `getMaxInactiveInterval` in interface `SessionManager`
      Returns:
        seconds
      See Also:
        `SessionManager.setMaxInactiveInterval(int)`

    - #### getMaxSessions

          @Deprecated
          public int getMaxSessions()

      Deprecated.
      See Also:
        `getSessionsMax()`

    - #### getSessionsMax

          public int getSessionsMax()

      Returns:
        maximum number of sessions

    - #### getSessionsTotal

          public int getSessionsTotal()

      Returns:
        total number of sessions

    - #### getMetaManager

          @Deprecated
          public SessionIdManager getMetaManager()

      Deprecated. use `getSessionIdManager()`
      Specified by:
        `getMetaManager` in interface `SessionManager`
      Returns:
        the cross context session id manager.

    - #### getMinSessions

          @Deprecated
          public int getMinSessions()

      Deprecated. always returns 0. no replacement available.

    - #### getRefreshCookieAge

          public int getRefreshCookieAge()

    - #### getSecureCookies

          public boolean getSecureCookies()

      Specified by:
        `getSecureCookies` in interface `SessionManager`
      Returns:
        Returns the secureCookies.

    - #### getSessionCookie

          public String getSessionCookie()

      Specified by:
        `getSessionCookie` in interface `SessionManager`
      Returns:
        the session cookie name, by default "JSESSIONID".
      See Also:
        `SessionManager.setSessionCookie(String)`

    - #### getSessionCookie

          public HttpCookie getSessionCookie(javax.servlet.http.HttpSession session,
                                    String contextPath,
                                    boolean requestIsSecure)

      Description copied from interface: `SessionManager`
      Gets a Cookie for a session.
      Specified by:
        `getSessionCookie` in interface `SessionManager`
      Parameters:
        `session` - the session to which the cookie should refer.
        `contextPath` - the context to which the cookie should be linked. The client will only send the cookie value when requesting resources under this path.
        `requestIsSecure` - whether the client is accessing the server over a secure protocol (i.e. HTTPS).
      Returns:
        if this `SessionManager` uses cookies, then this method will return a new `cookie object` that should be set on the client in order to link future HTTP requests with the `session`. If cookies are not in use, this method returns `null`.

    - #### getSessionDomain

          public String getSessionDomain()

      Specified by:
        `getSessionDomain` in interface `SessionManager`
      Returns:
        the domain to set on the session cookie
      See Also:
        `SessionManager.setSessionDomain(String)`

    - #### getSessionHandler

          public SessionHandler getSessionHandler()

      Returns:
        Returns the sessionHandler.

    - #### getSessionMap

          public Map getSessionMap()

      Deprecated. Need to review if it is needed.

    - #### getSessionPath

          public String getSessionPath()

      Specified by:
        `getSessionPath` in interface `SessionManager`
      Returns:
        the path to set on the session cookie
      See Also:
        `SessionManager.setSessionPath(String)`

    - #### getSessions

          public int getSessions()

    - #### getSessionIdPathParameterName

          public String getSessionIdPathParameterName()

      Specified by:
        `getSessionIdPathParameterName` in interface `SessionManager`
      Returns:
        the URL path parameter name for session id URL rewriting, by default "jsessionid".
      See Also:
        `SessionManager.setSessionIdPathParameterName(String)`

    - #### getSessionIdPathParameterNamePrefix

          public String getSessionIdPathParameterNamePrefix()

      Specified by:
        `getSessionIdPathParameterNamePrefix` in interface `SessionManager`
      Returns:
        a formatted version of `SessionManager.getSessionIdPathParameterName()`, by default ";" + sessionIdParameterName + "=", for easier lookup in URL strings.
      See Also:
        `SessionManager.getSessionIdPathParameterName()`

    - #### isUsingCookies

          public boolean isUsingCookies()

      Specified by:
        `isUsingCookies` in interface `SessionManager`
      Returns:
        Returns the usingCookies.

    - #### isValid

          public boolean isValid(javax.servlet.http.HttpSession session)

      Specified by:
        `isValid` in interface `SessionManager`
      Parameters:
        `session` - the session to test for validity
      Returns:
        whether the given session is valid, that is, it has not been invalidated.

    - #### getClusterId

          public String getClusterId(javax.servlet.http.HttpSession session)

      Specified by:
        `getClusterId` in interface `SessionManager`
      Parameters:
        `session` - the session object
      Returns:
        the unique id of the session within the cluster (without a node id extension)
      See Also:
        `SessionManager.getNodeId(HttpSession)`

    - #### getNodeId

          public String getNodeId(javax.servlet.http.HttpSession session)

      Specified by:
        `getNodeId` in interface `SessionManager`
      Parameters:
        `session` - the session object
      Returns:
        the unique id of the session within the cluster, extended with an optional node id.
      See Also:
        `SessionManager.getClusterId(HttpSession)`

    - #### newHttpSession

          public javax.servlet.http.HttpSession newHttpSession(javax.servlet.http.HttpServletRequest request)

      Create a new HttpSession for a request
      Specified by:
        `newHttpSession` in interface `SessionManager`
      Parameters:
        `request` - the HttpServletRequest containing the requested session id
      Returns:
        the new `HttpSession`

    - #### removeEventListener

          public void removeEventListener(EventListener listener)

      Description copied from interface: `SessionManager`
      Removes an event listener for for session-related events.
      Specified by:
        `removeEventListener` in interface `SessionManager`
      Parameters:
        `listener` - the session event listener to remove
      See Also:
        `SessionManager.addEventListener(EventListener)`

    - #### resetStats

          @Deprecated
          public void resetStats()

      Deprecated.
      See Also:
        `statsReset()`

    - #### statsReset

          public void statsReset()

      Reset statistics values

    - #### setHttpOnly

          public void setHttpOnly(boolean httpOnly)

      Parameters:
        `httpOnly` - The httpOnly to set.

    - #### setIdManager

          public void setIdManager(SessionIdManager metaManager)

      Deprecated. use `setSessionIdManager(SessionIdManager)`
      Parameters:
        `metaManager` - The metaManager used for cross context session management.

    - #### setSessionIdManager

          public void setSessionIdManager(SessionIdManager metaManager)

      Description copied from interface: `SessionManager`
      Sets the cross context session id manager
      Specified by:
        `setSessionIdManager` in interface `SessionManager`
      Parameters:
        `metaManager` - The metaManager used for cross context session management.
      See Also:
        `SessionManager.getSessionIdManager()`

    - #### setMaxCookieAge

          public void setMaxCookieAge(int maxCookieAgeInSeconds)

      Description copied from interface: `SessionManager`
      Sets the max age to set on the session cookie, in seconds
      Specified by:
        `setMaxCookieAge` in interface `SessionManager`
      Parameters:
        `maxCookieAgeInSeconds` - the max age to set on the session cookie, in seconds
      See Also:
        `SessionManager.getMaxCookieAge()`

    - #### setMaxInactiveInterval

          public void setMaxInactiveInterval(int seconds)

      Description copied from interface: `SessionManager`
      Sets the max period of inactivity, after which the session is invalidated, in seconds.
      Specified by:
        `setMaxInactiveInterval` in interface `SessionManager`
      Parameters:
        `seconds` -
      See Also:
        `SessionManager.getMaxInactiveInterval()`

    - #### setMetaManager

          @Deprecated
          public void setMetaManager(SessionIdManager metaManager)

      Deprecated. use `setSessionIdManager(SessionIdManager)`

    - #### setRefreshCookieAge

          public void setRefreshCookieAge(int ageInSeconds)

    - #### setSecureCookies

          public void setSecureCookies(boolean secureCookies)

      Set if the session manager should use SecureCookies. A secure cookie will only be sent by a browser on a secure (https) connection to avoid the concern of cookies being intercepted on non secure channels. For the cookie to be issued as secure, the `ServletRequest.isSecure()` method must return true. If SSL offload is used, then the `AbstractConnector.customize(org.eclipse.jetty.io.EndPoint, Request)` method can be used to force the request to be https, or the `AbstractConnector.setForwarded(boolean)` can be set to true, so that the X-Forwarded-Proto header is respected.

      If secure session cookies are used, then a session may not be shared between http and https requests.

      Parameters:
        `secureCookies` - If true, use secure cookies.

    - #### setSessionCookie

          public void setSessionCookie(String cookieName)

      Description copied from interface: `SessionManager`
      Sets the session cookie name.
      Specified by:
        `setSessionCookie` in interface `SessionManager`
      Parameters:
        `cookieName` - the session cookie name
      See Also:
        `SessionManager.getSessionCookie()`

    - #### setSessionDomain

          public void setSessionDomain(String domain)

      Description copied from interface: `SessionManager`
      Sets the domain to set on the session cookie
      Specified by:
        `setSessionDomain` in interface `SessionManager`
      Parameters:
        `domain` - the domain to set on the session cookie
      See Also:
        `SessionManager.getSessionDomain()`

    - #### setSessionHandler

          public void setSessionHandler(SessionHandler sessionHandler)

      Description copied from interface: `SessionManager`
      Sets the `SessionHandler`.
      Specified by:
        `setSessionHandler` in interface `SessionManager`
      Parameters:
        `sessionHandler` - The sessionHandler to set.

    - #### setSessionPath

          public void setSessionPath(String path)

      Description copied from interface: `SessionManager`
      Sets the path to set on the session cookie
      Specified by:
        `setSessionPath` in interface `SessionManager`
      Parameters:
        `path` - the path to set on the session cookie
      See Also:
        `SessionManager.setSessionPath(java.lang.String)`

    - #### setSessionIdPathParameterName

          public void setSessionIdPathParameterName(String param)

      Description copied from interface: `SessionManager`
      Sets the session id URL path parameter name.
      Specified by:
        `setSessionIdPathParameterName` in interface `SessionManager`
      Parameters:
        `param` - the URL path parameter name for session id URL rewriting (null or "none" for no rewriting).
      See Also:
        `SessionManager.getSessionIdPathParameterName()`, `SessionManager.getSessionIdPathParameterNamePrefix()`

    - #### setUsingCookies

          public void setUsingCookies(boolean usingCookies)

      Parameters:
        `usingCookies` - The usingCookies to set.

    - #### addSession

          protected abstract void addSession(AbstractSession session)

    - #### addSession

          protected void addSession(AbstractSession session,
                        boolean created)

      Add the session Registers the session with this manager and registers the session ID with the sessionIDManager;

    - #### getSession

          public abstract AbstractSession getSession(String idInCluster)

      Get a known existing session
      Parameters:
        `idInCluster` - The session ID in the cluster, stripped of any worker name.
      Returns:
        A Session or null if none exists.

    - #### invalidateSessions

          protected abstract void invalidateSessions()
                                              throws Exception

      Throws:
        `Exception`

    - #### newSession

          protected abstract AbstractSession newSession(javax.servlet.http.HttpServletRequest request)

      Create a new session instance
      Parameters:
        `request` -
      Returns:
        the new session

    - #### isNodeIdInSessionId

          public boolean isNodeIdInSessionId()

      Returns:
        true if the cluster node id (worker id) is returned as part of the session id by `HttpSession.getId()`. Default is false.

    - #### setNodeIdInSessionId

          public void setNodeIdInSessionId(boolean nodeIdInSessionId)

      Parameters:
        `nodeIdInSessionId` - true if the cluster node id (worker id) will be returned as part of the session id by `HttpSession.getId()`. Default is false.

    - #### removeSession

          public void removeSession(javax.servlet.http.HttpSession session,
                           boolean invalidate)

      Remove session from manager
      Parameters:
        `session` - The session to remove
        `invalidate` - True if `HttpSessionListener.sessionDestroyed(HttpSessionEvent)` and `SessionIdManager.invalidateAll(String)` should be called.

    - #### removeSession

          public void removeSession(AbstractSession session,
                           boolean invalidate)

      Remove session from manager
      Parameters:
        `session` - The session to remove
        `invalidate` - True if `HttpSessionListener.sessionDestroyed(HttpSessionEvent)` and `SessionIdManager.invalidateAll(String)` should be called.

    - #### removeSession

          protected abstract boolean removeSession(String idInCluster)

    - #### getSessionTimeMax

          public long getSessionTimeMax()

      Returns:
        maximum amount of time session remained valid

    - #### getSessionTimeTotal

          public long getSessionTimeTotal()

      Returns:
        total amount of time all sessions remained valid

    - #### getSessionTimeMean

          public double getSessionTimeMean()

      Returns:
        mean amount of time session remained valid

    - #### getSessionTimeStdDev

          public double getSessionTimeStdDev()

      Returns:
        standard deviation of amount of time session remained valid

    - #### isCheckingRemoteSessionIdEncoding

          public boolean isCheckingRemoteSessionIdEncoding()

      Specified by:
        `isCheckingRemoteSessionIdEncoding` in interface `SessionManager`
      Returns:
        True if absolute URLs are check for remoteness before being session encoded.
      See Also:
        `SessionManager.isCheckingRemoteSessionIdEncoding()`

    - #### setCheckingRemoteSessionIdEncoding

          public void setCheckingRemoteSessionIdEncoding(boolean remote)

      Specified by:
        `setCheckingRemoteSessionIdEncoding` in interface `SessionManager`
      Parameters:
        `remote` - True if absolute URLs are check for remoteness before being session encoded.
      See Also:
        `SessionManager.setCheckingRemoteSessionIdEncoding(boolean)`

    - #### doSessionAttributeListeners

          public void doSessionAttributeListeners(AbstractSession session,
                                         String name,
                                         Object old,
                                         Object value)

Copyright © 1995-2012 Mort Bay Consulting. All Rights Reserved.