Class FileSessionDataStore

All Implemented Interfaces:
SessionDataMap, SessionDataStore, Container, Destroyable, Dumpable, Dumpable.DumpableContainer, LifeCycle

@ManagedObject @Deprecated(since="2021-05-27") public class FileSessionDataStore extends AbstractSessionDataStore
Deprecated.
The Eclipse Jetty and Apache Felix Http Jetty packages are no longer supported.
FileSessionDataStore A file-based store of session data.
  • Constructor Details

    • FileSessionDataStore

      public FileSessionDataStore()
      Deprecated.
  • Method Details

    • 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
      Overrides:
      initialize in class AbstractSessionDataStore
      Parameters:
      context - context associated
      Throws:
      Exception - if unable to initialize the
    • getStoreDir

      @ManagedAttribute(value="dir where sessions are stored", readonly=true) public File getStoreDir()
      Deprecated.
    • setStoreDir

      public void setStoreDir(File storeDir)
      Deprecated.
    • isDeleteUnrestorableFiles

      public boolean isDeleteUnrestorableFiles()
      Deprecated.
    • setDeleteUnrestorableFiles

      public void setDeleteUnrestorableFiles(boolean deleteUnrestorableFiles)
      Deprecated.
    • delete

      public boolean delete(String id) throws Exception
      Deprecated.
      Delete a session
      Parameters:
      id - session id
      Returns:
      true if the session was deleted
      Throws:
      Exception - if unable to delete session data
    • deleteFile

      public boolean deleteFile(String filename) throws Exception
      Deprecated.
      Delete the file associated with a session
      Parameters:
      filename - name of the file containing the session's information
      Returns:
      true if file was deleted, false otherwise
      Throws:
      Exception - indicating delete failure
    • doGetExpired

      public Set<String> doGetExpired(Set<String> candidates)
      Deprecated.
      Check to see which sessions have expired.
      Specified by:
      doGetExpired in class AbstractSessionDataStore
      Parameters:
      candidates - the set of session ids that the SessionCache believes have expired
      Returns:
      the complete set of sessions that have expired, including those that are not currently loaded into the SessionCache
    • sweepDisk

      public void sweepDisk()
      Deprecated.
      Check all session files that do not belong to this context and remove any that expired long ago (ie at least 5 gracePeriods ago).
    • sweepFile

      public void sweepFile(long now, Path p)
      Deprecated.
      Check to see if the expiry on the file is very old, and delete the file if so. "Old" means that it expired at least 5 gracePeriods ago. The session can belong to any context.
      Parameters:
      now - the time now in msec
      p - the file to check
    • doLoad

      public SessionData doLoad(String id) throws Exception
      Deprecated.
      Description copied from class: AbstractSessionDataStore
      Load the session from persistent store.
      Specified by:
      doLoad in class AbstractSessionDataStore
      Parameters:
      id - the id of the session to load
      Returns:
      the re-inflated session
      Throws:
      Exception - if unable to load the session
    • doStore

      public void doStore(String id, SessionData data, long lastSaveTime) throws Exception
      Deprecated.
      Description copied from class: AbstractSessionDataStore
      Store the session data persistently.
      Specified by:
      doStore in class AbstractSessionDataStore
      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
    • initializeStore

      public void initializeStore() throws Exception
      Deprecated.
      Read the names of the existing session files and build a map of fully qualified session ids (ie with context) to filename. If there is more than one file for the same session, only the most recently modified will be kept and the rest deleted. At the same time, any files - for any context - that expired a long time ago will be cleaned up.
      Throws:
      Exception - if storeDir doesn't exist, isn't readable/writeable or contains 2 files with the same lastmodify time for the same session. Throws IOException if the lastmodifytimes can't be read.
    • isPassivating

      @ManagedAttribute(value="are sessions serialized by this store", readonly=true) public boolean isPassivating()
      Deprecated.
      Description copied from interface: SessionDataStore
      True if this type of datastore will passivate session objects
      Returns:
      true if this store can passivate sessions, false otherwise
    • exists

      public boolean exists(String id) throws Exception
      Deprecated.
      Description copied from interface: SessionDataStore
      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
    • toString

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