Class AbstractSessionDataStore

All Implemented Interfaces:
SessionDataMap, SessionDataStore, Container, Destroyable, Dumpable, Dumpable.DumpableContainer, LifeCycle
Direct Known Subclasses:
FileSessionDataStore, JDBCSessionDataStore, NullSessionDataStore

@ManagedObject @Deprecated(since="2021-05-27") public abstract class AbstractSessionDataStore extends ContainerLifeCycle implements SessionDataStore
Deprecated.
The Eclipse Jetty and Apache Felix Http Jetty packages are no longer supported.
AbstractSessionDataStore
  • Constructor Details

    • AbstractSessionDataStore

      public AbstractSessionDataStore()
      Deprecated.
  • Method Details

    • doStore

      public abstract void doStore(String id, SessionData data, long lastSaveTime) throws Exception
      Deprecated.
      Store the session data persistently.
      Parameters:
      id - identity of session to store
      data - info of the session
      lastSaveTime - time of previous save or 0 if never saved
      Throws:
      Exception - if unable to store data
    • doLoad

      public abstract SessionData doLoad(String id) throws Exception
      Deprecated.
      Load the session from persistent store.
      Parameters:
      id - the id of the session to load
      Returns:
      the re-inflated session
      Throws:
      Exception - if unable to load the session
    • doGetExpired

      public abstract Set<String> doGetExpired(Set<String> candidates)
      Deprecated.
      Implemented by subclasses to resolve which sessions this node should attempt to expire.
      Parameters:
      candidates - the ids of sessions the SessionDataStore thinks has expired
      Returns:
      the reconciled set of session ids that this node should attempt to expire
    • initialize

      public void initialize(SessionContext context) throws Exception
      Deprecated.
      Description copied from interface: SessionDataMap
      Initialize this data map for the given context. A SessionDataMap can only be used by one context(/session manager).
      Specified by:
      initialize in interface SessionDataMap
      Parameters:
      context - context associated
      Throws:
      Exception - if unable to initialize the
    • load

      public SessionData load(String id) throws Exception
      Deprecated.
      Description copied from interface: SessionDataMap
      Read in session data.
      Specified by:
      load in interface SessionDataMap
      Parameters:
      id - identity of session to load
      Returns:
      the SessionData matching the id
      Throws:
      Exception - if unable to load session data
    • store

      public void store(String id, SessionData data) throws Exception
      Deprecated.
      Description copied from interface: SessionDataMap
      Store the session data.
      Specified by:
      store in interface SessionDataMap
      Parameters:
      id - identity of session to store
      data - info of session to store
      Throws:
      Exception - if unable to write session data
    • getExpired

      public Set<String> getExpired(Set<String> candidates)
      Deprecated.
      Description copied from interface: SessionDataStore
      Called periodically, this method should search the data store for sessions that have been expired for a 'reasonable' amount of time.
      Specified by:
      getExpired in interface SessionDataStore
      Parameters:
      candidates - if provided, these are keys of sessions that the SessionDataStore thinks has expired and should be verified by the SessionDataStore
      Returns:
      set of session ids
    • newSessionData

      public SessionData newSessionData(String id, long created, long accessed, long lastAccessed, long maxInactiveMs)
      Deprecated.
      Description copied from interface: SessionDataStore
      Create a new SessionData
      Specified by:
      newSessionData in interface SessionDataStore
      Parameters:
      id - the id
      created - the timestamp when created
      accessed - the timestamp when accessed
      lastAccessed - the timestamp when last accessed
      maxInactiveMs - the max inactive time in milliseconds
      Returns:
      a new SessionData object
    • getGracePeriodSec

      @ManagedAttribute(value="interval in secs to prevent too eager session scavenging", readonly=true) public int getGracePeriodSec()
      Deprecated.
    • setGracePeriodSec

      public void setGracePeriodSec(int sec)
      Deprecated.
    • getSavePeriodSec

      @ManagedAttribute(value="min secs between saves", readonly=true) public int getSavePeriodSec()
      Deprecated.
      Returns:
      the savePeriodSec
    • setSavePeriodSec

      public void setSavePeriodSec(int savePeriodSec)
      Deprecated.
      The minimum time in seconds between save operations. Saves normally occur every time the last request exits as session. If nothing changes on the session except for the access time and the persistence technology is slow, this can cause delays.

      By default the value is 0, which means we save after the last request exists. A non zero value means that we will skip doing the save if the session isn't dirty if the elapsed time since the session was last saved does not exceed this value.

      Parameters:
      savePeriodSec - the savePeriodSec to set
    • toString

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