Class DefaultSessionIdManager

All Implemented Interfaces:
SessionIdManager, Container, Destroyable, Dumpable, Dumpable.DumpableContainer, LifeCycle

@ManagedObject @Deprecated(since="2021-05-27") public class DefaultSessionIdManager extends ContainerLifeCycle implements SessionIdManager
Deprecated.
The Eclipse Jetty and Apache Felix Http Jetty packages are no longer supported.
DefaultSessionIdManager Manages session ids to ensure each session id within a context is unique, and that session ids can be shared across contexts (but not session contents). There is only 1 session id manager per Server instance. Runs a HouseKeeper thread to periodically check for expired Sessions.
See Also:
  • Field Details

  • Constructor Details

    • DefaultSessionIdManager

      public DefaultSessionIdManager(Server server)
      Deprecated.
      Parameters:
      server - the server associated with the id manager
    • DefaultSessionIdManager

      public DefaultSessionIdManager(Server server, Random random)
      Deprecated.
      Parameters:
      server - the server associated with the id manager
      random - a random number generator to use for ids
  • Method Details

    • setServer

      public void setServer(Server server)
      Deprecated.
      Parameters:
      server - the server associated with this id manager
    • getServer

      public Server getServer()
      Deprecated.
      Returns:
      the server associated with this id manager
    • setSessionHouseKeeper

      public void setSessionHouseKeeper(HouseKeeper houseKeeper)
      Deprecated.
      Specified by:
      setSessionHouseKeeper in interface SessionIdManager
      Parameters:
      houseKeeper - the housekeeper
    • getSessionHouseKeeper

      public HouseKeeper getSessionHouseKeeper()
      Deprecated.
      Specified by:
      getSessionHouseKeeper in interface SessionIdManager
      Returns:
      the housekeeper
    • getWorkerName

      @ManagedAttribute(value="unique name for this node", readonly=true) public String getWorkerName()
      Deprecated.
      Get the workname. If set, the workername is dot appended to the session ID and can be used to assist session affinity in a load balancer.
      Specified by:
      getWorkerName in interface SessionIdManager
      Returns:
      name or null
    • setWorkerName

      public void setWorkerName(String workerName)
      Deprecated.
      Set the workername. If set, the workername is dot appended to the session ID and can be used to assist session affinity in a load balancer. A worker name starting with $ is used as a request attribute name to lookup the worker name that can be dynamically set by a request Customizer.
      Parameters:
      workerName - the name of the worker, if null it is coerced to empty string
    • getRandom

      public Random getRandom()
      Deprecated.
      Returns:
      the random number generator
    • setRandom

      public void setRandom(Random random)
      Deprecated.
      Parameters:
      random - a random number generator for generating ids
    • getReseed

      public long getReseed()
      Deprecated.
      Returns:
      the reseed probability
    • setReseed

      public void setReseed(long reseed)
      Deprecated.
      Set the reseed probability.
      Parameters:
      reseed - If non zero then when a random long modulo the reseed value == 1, the SecureRandom will be reseeded.
    • newSessionId

      public String newSessionId(HttpServletRequest request, long created)
      Deprecated.
      Create a new session id if necessary.
      Specified by:
      newSessionId in interface SessionIdManager
      Parameters:
      request - the request with the sesion
      created - the timestamp for when the session was created
      Returns:
      the new session id
      See Also:
    • newSessionId

      public String newSessionId(long seedTerm)
      Deprecated.
      Parameters:
      seedTerm - the seed for RNG
      Returns:
      a new unique session id
    • isIdInUse

      public boolean isIdInUse(String id)
      Deprecated.
      Specified by:
      isIdInUse in interface SessionIdManager
      Parameters:
      id - The plain session ID (ie no workername extension)
      Returns:
      True if the session ID is in use by at least one context.
      See Also:
    • initRandom

      public void initRandom()
      Deprecated.
      Set up a random number generator for the sessionids. By preference, use a SecureRandom but allow to be injected.
    • getExtendedId

      public String getExtendedId(String clusterId, HttpServletRequest request)
      Deprecated.
      Get the session ID with any worker ID.
      Specified by:
      getExtendedId in interface SessionIdManager
      Parameters:
      clusterId - the cluster id
      request - the request
      Returns:
      sessionId plus any worker ID.
    • getId

      public String getId(String extendedId)
      Deprecated.
      Get the session ID without any worker ID.
      Specified by:
      getId in interface SessionIdManager
      Parameters:
      extendedId - the session id with the worker extension
      Returns:
      sessionId without any worker ID.
    • expireAll

      public void expireAll(String id)
      Deprecated.
      Remove an id from use by telling all contexts to remove a session with this id.
      Specified by:
      expireAll in interface SessionIdManager
      Parameters:
      id - The session ID without any cluster node extension
      See Also:
    • invalidateAll

      public void invalidateAll(String id)
      Deprecated.
      Description copied from interface: SessionIdManager
      Invalidate all sessions on all contexts that share the same id.
      Specified by:
      invalidateAll in interface SessionIdManager
      Parameters:
      id - the session id
    • renewSessionId

      public String renewSessionId(String oldClusterId, String oldNodeId, HttpServletRequest request)
      Deprecated.
      Generate a new id for a session and update across all SessionManagers.
      Specified by:
      renewSessionId in interface SessionIdManager
      Parameters:
      oldClusterId - the old plain session id
      oldNodeId - the old fully qualified id
      request - the request containing the session
      Returns:
      the new session id
      See Also:
    • getSessionHandlers

      public Set<SessionHandler> getSessionHandlers()
      Deprecated.
      Get SessionHandler for every context.
      Specified by:
      getSessionHandlers in interface SessionIdManager
      Returns:
      all SessionHandlers that are running
    • toString

      public String toString()
      Deprecated.
      Overrides:
      toString in class AbstractLifeCycle
      See Also: