Class StandardManager

All Implemented Interfaces:
MBeanRegistration, JmxEnabled, Lifecycle, Manager

public class StandardManager extends ManagerBase
Standard implementation of the Manager interface that provides simple session persistence across restarts of this component (such as when the entire server is shut down and restarted, or when a particular web application is reloaded.

IMPLEMENTATION NOTE: Correct behavior of session storing and reloading depends upon external calls to the start() and stop() methods of this class at the correct times.

Author:
Craig R. McClanahan
  • Field Details

    • name

      protected static final String name
      The descriptive name of this Manager implementation (for logging).
      See Also:
    • pathname

      protected String pathname
      Path name of the disk file in which active sessions are saved when we stop, and from which these sessions are loaded when we start. A null value indicates that no persistence is desired. If this pathname is relative, it will be resolved against the temporary working directory provided by our context, available via the jakarta.servlet.context.tempdir context attribute.
  • Constructor Details

    • StandardManager

      public StandardManager()
  • Method Details

    • getName

      public String getName()
      Overrides:
      getName in class ManagerBase
      Returns:
      The descriptive short name of this Manager implementation.
    • getPathname

      public String getPathname()
      Returns:
      The session persistence pathname, if any.
    • setPathname

      public void setPathname(String pathname)
      Set the session persistence pathname to the specified value. If no persistence support is desired, set the pathname to null.
      Parameters:
      pathname - New session persistence pathname
    • load

      public void load() throws ClassNotFoundException, IOException
      Description copied from interface: Manager
      Load any currently active sessions that were previously unloaded to the appropriate persistence mechanism, if any. If persistence is not supported, this method returns without doing anything.
      Throws:
      ClassNotFoundException - if a serialized class cannot be found during the reload
      IOException - if an input/output error occurs
    • doLoad

      protected void doLoad() throws ClassNotFoundException, IOException
      Load any currently active sessions that were previously unloaded to the appropriate persistence mechanism, if any. If persistence is not supported, this method returns without doing anything.
      Throws:
      ClassNotFoundException - if a serialized class cannot be found during the reload
      IOException - if an input/output error occurs
    • unload

      public void unload() throws IOException
      Description copied from interface: Manager
      Save any currently active sessions in the appropriate persistence mechanism, if any. If persistence is not supported, this method returns without doing anything.
      Throws:
      IOException - if an input/output error occurs
    • doUnload

      protected void doUnload() throws IOException
      Save any currently active sessions in the appropriate persistence mechanism, if any. If persistence is not supported, this method returns without doing anything.
      Throws:
      IOException - if an input/output error occurs
    • startInternal

      protected void startInternal() throws LifecycleException
      Start this component and implement the requirements of LifecycleBase.startInternal().
      Overrides:
      startInternal in class ManagerBase
      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().
      Overrides:
      stopInternal in class ManagerBase
      Throws:
      LifecycleException - if this component detects a fatal error that prevents this component from being used
    • file

      protected File file()
      Return a File object representing the pathname to our persistence file, if any.
      Returns:
      the file