Package org.apache.catalina.valves
Class PersistentValve
java.lang.Object
org.apache.catalina.util.LifecycleBase
org.apache.catalina.util.LifecycleMBeanBase
org.apache.catalina.valves.ValveBase
org.apache.catalina.valves.PersistentValve
- All Implemented Interfaces:
MBeanRegistration,Contained,JmxEnabled,Lifecycle,Valve
Valve that implements per-request session persistence. It is intended to be
used with non-sticky load-balancers.
USAGE CONSTRAINT: To work correctly it requires a PersistentManager.
USAGE CONSTRAINT: To work correctly it assumes only one request exists per session at any one time.
- Author:
- Jean-Frederic Clere
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.catalina.Lifecycle
Lifecycle.SingleUse -
Field Summary
FieldsFields inherited from class org.apache.catalina.valves.ValveBase
asyncSupported, container, containerLog, next, smFields inherited from class org.apache.catalina.util.LifecycleMBeanBase
mserverFields 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 -
Method Summary
Modifier and TypeMethodDescriptionvoidSelect the appropriate child Context to process this request, based on the specified request URI.protected booleanprotected booleanisSessionStale(Session session, long timeNow) Indicate whether the session has been idle for longer than its expiration date as of the supplied time.voidsetContainer(Container container) Set the Container with which this Valve is associated, if any.voidMethods inherited from class org.apache.catalina.valves.ValveBase
backgroundProcess, getContainer, getDomainInternal, getNext, getObjectNameKeyProperties, initInternal, isAsyncSupported, setAsyncSupported, setNext, startInternal, stopInternal, toStringMethods inherited from class org.apache.catalina.util.LifecycleMBeanBase
destroyInternal, getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister, unregisterMethods inherited from class org.apache.catalina.util.LifecycleBase
addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stop
-
Field Details
-
filter
-
-
Constructor Details
-
PersistentValve
public PersistentValve()
-
-
Method Details
-
setContainer
Description copied from class:ValveBaseSet the Container with which this Valve is associated, if any.- Specified by:
setContainerin interfaceContained- Overrides:
setContainerin classValveBase- Parameters:
container- The new associated container
-
invoke
Select the appropriate child Context to process this request, based on the specified request URI. If no matching Context can be found, return an appropriate HTTP error.- Parameters:
request- Request to be processedresponse- Response to be produced- Throws:
IOException- if an input/output error occurredServletException- if a servlet error occurred
-
isSessionStale
Indicate whether the session has been idle for longer than its expiration date as of the supplied time. FIXME: Probably belongs in the Session class.- Parameters:
session- The session to checktimeNow- The current time to check for- Returns:
trueif the session is past its expiration
-
isRequestWithoutSession
-
getFilter
-
setFilter
-