org.apache.catalina.session (Apache Tomcat 9.0.104 API Documentation)
Description: declaration: package: org.apache.catalina.session

# Package org.apache.catalina.session

package org.apache.catalina.session

This package contains the standard `Manager` and `Session` implementations that represent the collection of active sessions and the individual sessions themselves, respectively, that are associated with a `Context`. Additional implementations of the `Manager` interface can be based upon the supplied convenience base class (`ManagerBase`), if desired. Different implementations of `Session` are possible, but a need for functionality beyond what is provided by the standard implementation (`StandardSession`) is not expected.

The convenience `ManagerBase` base class is configured by setting the following properties:

- algorithm - Message digest algorithm to be used when generating session identifiers. This must be the name of an algorithm supported by the `java.security.MessageDigest` class on your platform. [DEFAULT_ALGORITHM]
- debug - Debugging detail level for this component. [0]
- distributable - Has the web application we are associated with been marked as "distributable"? If it has, attempts to add or replace a session attribute object that does not implement the `java.io.Serializable` interface will be rejected. [false]
- maxInactiveInterval - The default maximum inactive interval, in minutes, for sessions created by this Manager. The standard implementation automatically updates this value based on the configuration settings in the web application deployment descriptor. [60]
- randomClass - The Java class name of the random number generator to be used when creating session identifiers for this Manager. [java.security.SecureRandom]

The standard implementation of the `Manager` interface (`StandardManager`) supports the following additional configuration properties:

- maxActiveSessions - The maximum number of active sessions that will be allowed, or -1 for no limit. [-1]
- pathname - Pathname to the file that is used to store session data persistently across container restarts. If this pathname is relative, it is resolved against the temporary working directory provided by our associated Context, if any. ["sessions.ser"]

- Related Packages
  Package
  Description
  org.apache.catalina
- Class
  Description
  Constants
  Manifest constants for the `org.apache.catalina.session` package.
  DataSourceStore
  Implementation of the `Store` interface that stores serialized session objects in a database.
  FileStore
  Concrete implementation of the Store interface that utilizes a file per saved Session in a configured directory.
  JDBCStore
  Deprecated.
  Removed in Tomcat 10 and replaced by DataSourceStore with removal of legacy JDBC code
  ManagerBase
  Minimal implementation of the Manager interface that supports no session persistence or distributable capabilities.
  ManagerBase.SessionTiming
  PersistentManager
  Implementation of the Manager interface that makes use of a Store to swap active Sessions to disk.
  PersistentManagerBase
  Extends the `ManagerBase` class to implement most of the functionality required by a Manager which supports any kind of persistence, even if only for restarts.
  StandardManager
  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).
  StandardSession
  Standard implementation of the Session interface.
  StandardSessionFacade
  Facade for the StandardSession object.
  StoreBase
  Abstract implementation of the `Store` interface to support most of the functionality required by a `Store`.
  TooManyActiveSessionsException
  An exception that indicates the maximum number of active sessions has been reached and the server is refusing to create any new sessions.