org.apache.catalina.session

## Class PersistentManager

- java.lang.Object
- - org.apache.catalina.util.LifecycleBase
  - - org.apache.catalina.util.LifecycleMBeanBase
    - - org.apache.catalina.session.ManagerBase
      - - org.apache.catalina.session.PersistentManagerBase
        - - org.apache.catalina.session.PersistentManager

All Implemented Interfaces:
  PropertyChangeListener, EventListener, MBeanRegistration, DistributedManager, Lifecycle, Manager

    public final class PersistentManager
    extends PersistentManagerBase

Implementation of the Manager interface that makes use of a Store to swap active Sessions to disk. It can be configured to achieve several different goals:
Persist sessions across restarts of the Container
Fault tolerance, keep sessions backed up on disk to allow recovery in the event of unplanned restarts.
Limit the number of active sessions kept in memory by swapping less active sessions out to disk.

Author:
  Kief Morris (kief@kief.com)

### Nested Class Summary

### Nested classes/interfaces inherited from class org.apache.catalina.session.ManagerBase

`ManagerBase.SessionTiming`

### Field Summary

Fields
`protected static String` `name` The descriptive name of this Manager implementation (for logging).

### Fields inherited from class org.apache.catalina.session.PersistentManagerBase

`maxIdleBackup, maxIdleSwap, minIdleSwap, saveOnRestart, store`

### Fields inherited from class org.apache.catalina.session.ManagerBase

`container, distributable, duplicates, expiredSessions, maxActive, maxActiveSessions, maxInactiveInterval, processExpiresFrequency, processingTime, rejectedSessions, secureRandomAlgorithm, secureRandomClass, secureRandomProvider, sessionCounter, sessionCreationTiming, sessionExpirationTiming, sessionIdGenerator, sessionIdLength, sessionMaxAliveTime, sessions, sm, support, TIMING_STATS_CACHE_SIZE`

### Fields inherited from class org.apache.catalina.util.LifecycleMBeanBase

`mserver`

### Fields inherited from interface org.apache.catalina.Lifecycle

`AFTER_DESTROY_EVENT, AFTER_INIT_EVENT, AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_DESTROY_EVENT, BEFORE_INIT_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, CONFIGURE_START_EVENT, CONFIGURE_STOP_EVENT, PERIODIC_EVENT, START_EVENT, STOP_EVENT`

### Constructor Summary

Constructors
Constructor and Description
`PersistentManager()`

### Method Summary

Methods
`String` `getInfo()` Return descriptive information about this Manager implementation and the corresponding version number, in the format `<description>/<version>`.
`String` `getName()` Return the descriptive short name of this Manager implementation.

### Methods inherited from class org.apache.catalina.session.PersistentManagerBase

`clearStore, findSession, getActiveSessionsFull, getMaxIdleBackup, getMaxIdleSwap, getMinIdleSwap, getSaveOnRestart, getSessionIdsFull, getStore, isLoaded, load, processExpires, processMaxActiveSwaps, processMaxIdleBackups, processMaxIdleSwaps, processPersistenceChecks, remove, removeSession, removeSuper, setMaxIdleBackup, setMaxIdleSwap, setMinIdleSwap, setSaveOnRestart, setStore, startInternal, stopInternal, swapIn, swapOut, unload, writeSession`

### Methods inherited from class org.apache.catalina.session.ManagerBase

`add, addPropertyChangeListener, backgroundProcess, changeSessionId, createEmptySession, createSession, expireSession, findSessions, generateSessionId, getActiveSessions, getClassName, getContainer, getCreationTime, getCreationTimestamp, getDistributable, getDomainInternal, getDuplicates, getEngine, getExpiredSessions, getJvmRoute, getLastAccessedTime, getLastAccessedTimestamp, getMaxActive, getMaxActiveSessions, getMaxInactiveInterval, getNewSession, getObjectNameKeyProperties, getProcessExpiresFrequency, getProcessingTime, getRejectedSessions, getSecureRandomAlgorithm, getSecureRandomClass, getSecureRandomProvider, getSession, getSessionAttribute, getSessionAverageAliveTime, getSessionCounter, getSessionCreateRate, getSessionExpireRate, getSessionIdLength, getSessionMaxAliveTime, getThisAccessedTime, getThisAccessedTimestamp, initInternal, listSessionIds, propertyChange, remove, removePropertyChangeListener, setContainer, setDistributable, setDuplicates, setExpiredSessions, setMaxActive, setMaxActiveSessions, setMaxInactiveInterval, setProcessExpiresFrequency, setProcessingTime, setSecureRandomAlgorithm, setSecureRandomClass, setSecureRandomProvider, setSessionCounter, setSessionIdLength, setSessionMaxAliveTime, toString, updateSessionMaxAliveTime`

### Methods inherited from class org.apache.catalina.util.LifecycleMBeanBase

`destroyInternal, getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister`

### Methods inherited from class org.apache.catalina.util.LifecycleBase

`addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, init, removeLifecycleListener, setState, setState, start, stop`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### name

    protected static String name

The descriptive name of this Manager implementation (for logging).

### Constructor Detail

#### PersistentManager

    public PersistentManager()

### Method Detail

#### getInfo

    public String getInfo()

Return descriptive information about this Manager implementation and the corresponding version number, in the format `<description>/<version>`.

Specified by:
  `getInfo` in interface `Manager`
Overrides:
  `getInfo` in class `PersistentManagerBase`

#### getName

    public String getName()

Return the descriptive short name of this Manager implementation.

Overrides:
  `getName` in class `PersistentManagerBase`