# 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.
ManagerBase
Minimal implementation of the Manager interface that supports no session persistence or distributable capabilities.
ManagerBase.SessionTiming
Record for session timing information.
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.
StandardSessionAccessor
Accessor for a StandardSession object.
StandardSessionFacade
Facade for a HttpSession 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.