Interface SessionIdManager

  • All Superinterfaces:
    LifeCycle
    All Known Implementing Classes:
    DefaultSessionIdManager

    public interface SessionIdManager
    extends LifeCycle
    Session ID Manager. Manages session IDs across multiple contexts.
    • Method Detail

      • isIdInUse

        boolean isIdInUse​(java.lang.String id)
        Parameters:
        id - The plain session ID (ie no workername extension)
        Returns:
        True if the session ID is in use by at least one context.
      • expireAll

        void expireAll​(java.lang.String id)
        Expire all sessions on all contexts that share the same id.
        Parameters:
        id - The session ID without any cluster node extension
      • invalidateAll

        void invalidateAll​(java.lang.String id)
        Invalidate all sessions on all contexts that share the same id.
        Parameters:
        id - the session id
      • newSessionId

        java.lang.String newSessionId​(jakarta.servlet.http.HttpServletRequest request,
                                      long created)
        Create a new Session ID.
        Parameters:
        request - the request with the sesion
        created - the timestamp for when the session was created
        Returns:
        the new session id
      • getWorkerName

        java.lang.String getWorkerName()
        Returns:
        the unique name of this server instance
      • getId

        java.lang.String getId​(java.lang.String qualifiedId)
        Get just the session id from an id that includes the worker name as a suffix. Strip node identifier from a located session ID.
        Parameters:
        qualifiedId - the session id including the worker name
        Returns:
        the cluster id
      • getExtendedId

        java.lang.String getExtendedId​(java.lang.String id,
                                       jakarta.servlet.http.HttpServletRequest request)
        Get an extended id for a session. An extended id contains the workername as a suffix.
        Parameters:
        id - The id of the session
        request - The request that for the session (or null)
        Returns:
        The session id qualified with the worker name
      • renewSessionId

        java.lang.String renewSessionId​(java.lang.String oldId,
                                        java.lang.String oldExtendedId,
                                        jakarta.servlet.http.HttpServletRequest request)
        Change the existing session id.
        Parameters:
        oldId - the old plain session id
        oldExtendedId - the old fully qualified id
        request - the request containing the session
        Returns:
        the new session id
      • getSessionHandlers

        java.util.Set<SessionHandler> getSessionHandlers()
        Get the set of all session handlers for this node
        Returns:
        the set of session handlers
      • setSessionHouseKeeper

        void setSessionHouseKeeper​(HouseKeeper houseKeeper)
        Parameters:
        houseKeeper - the housekeeper for doing scavenging
      • getSessionHouseKeeper

        HouseKeeper getSessionHouseKeeper()
        Returns:
        the housekeeper for doing scavenging