Class StoreBase

java.lang.Object
org.apache.catalina.util.LifecycleBase
org.apache.catalina.session.StoreBase
All Implemented Interfaces:
Lifecycle, Store
Direct Known Subclasses:
FileStore, JDBCStore

public abstract class StoreBase extends LifecycleBase implements Store
Abstract implementation of the Store interface to support most of the functionality required by a Store.
Author:
Bip Thelin
  • Field Details

    • storeName

      protected static final String storeName
      Name to register for this Store, used for logging.
      See Also:
    • support

      protected final PropertyChangeSupport support
      The property change support for this component.
    • sm

      protected static final StringManager sm
      The string manager for this package.
    • manager

      protected Manager manager
      The Manager with which this Store is associated.
  • Constructor Details

    • StoreBase

      public StoreBase()
  • Method Details

    • getStoreName

      public String getStoreName()
      Returns:
      the name for this Store, used for logging.
    • setManager

      public void setManager(Manager manager)
      Description copied from interface: Store
      Set the Manager associated with this Store.
      Specified by:
      setManager in interface Store
      Parameters:
      manager - The Manager which will use this Store.
    • getManager

      public Manager getManager()
      Specified by:
      getManager in interface Store
      Returns:
      the Manager instance associated with this Store.
    • addPropertyChangeListener

      public void addPropertyChangeListener(PropertyChangeListener listener)
      Description copied from interface: Store
      Add a property change listener to this component.
      Specified by:
      addPropertyChangeListener in interface Store
      Parameters:
      listener - The listener to add
    • removePropertyChangeListener

      public void removePropertyChangeListener(PropertyChangeListener listener)
      Description copied from interface: Store
      Remove a property change listener from this component.
      Specified by:
      removePropertyChangeListener in interface Store
      Parameters:
      listener - The listener to remove
    • expiredKeys

      public String[] expiredKeys() throws IOException
      Get only those keys of sessions, that are saved in the Store and are to be expired.
      Returns:
      list of session keys, that are to be expired
      Throws:
      IOException - if an input-/output error occurred
    • processExpires

      public void processExpires()
      Called by our background reaper thread to check if Sessions saved in our store are subject of being expired. If so expire the Session and remove it from the Store.
    • getObjectInputStream

      protected ObjectInputStream getObjectInputStream(InputStream is) throws IOException
      Create the object input stream to use to read a session from the store. Sub-classes must have set the thread context class loader before calling this method.
      Parameters:
      is - The input stream provided by the sub-class that will provide the data for a session
      Returns:
      An appropriately configured ObjectInputStream from which the session can be read.
      Throws:
      IOException - if a problem occurs creating the ObjectInputStream
    • initInternal

      protected void initInternal()
      Description copied from class: LifecycleBase
      Sub-classes implement this method to perform any instance initialisation required.
      Specified by:
      initInternal in class LifecycleBase
    • startInternal

      protected void startInternal() throws LifecycleException
      Start this component and implement the requirements of LifecycleBase.startInternal().
      Specified by:
      startInternal in class LifecycleBase
      Throws:
      LifecycleException - if this component detects a fatal error that prevents this component from being used
    • stopInternal

      protected void stopInternal() throws LifecycleException
      Stop this component and implement the requirements of LifecycleBase.stopInternal().
      Specified by:
      stopInternal in class LifecycleBase
      Throws:
      LifecycleException - if this component detects a fatal error that prevents this component from being used
    • destroyInternal

      protected void destroyInternal()
      Description copied from class: LifecycleBase
      Sub-classes implement this method to perform any instance destruction required.
      Specified by:
      destroyInternal in class LifecycleBase
    • toString

      public String toString()
      Overrides:
      toString in class Object