Interface SessionDataStore

All Superinterfaces:
LifeCycle, SessionDataMap
All Known Implementing Classes:
AbstractSessionDataStore, CachingSessionDataStore, FileSessionDataStore, GCloudSessionDataStore, InfinispanSessionDataStore, JDBCSessionDataStore, MongoSessionDataStore, NoSqlSessionDataStore, NullSessionDataStore

public interface SessionDataStore extends SessionDataMap
SessionDataStore A store for the data contained in a Session object. The store would usually be persistent.
  • Method Details

    • newSessionData

      SessionData newSessionData(String id, long created, long accessed, long lastAccessed, long maxInactiveMs)
      Create a new SessionData
      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
    • getExpired

      Set<String> getExpired(Set<String> candidates)
      Called periodically, this method should search the data store for sessions that have been expired for a 'reasonable' amount of time.
      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
    • isPassivating

      boolean isPassivating()
      True if this type of datastore will passivate session objects
      Returns:
      true if this store can passivate sessions, false otherwise
    • exists

      boolean exists(String id) throws Exception
      Test if data exists for a given session id.
      Parameters:
      id - Identity of session whose existence should be checked
      Returns:
      true if valid, non-expired session exists
      Throws:
      Exception - if problem checking existence with persistence layer