Package org.apache.catalina.valves
Class ValveBase
java.lang.Object
org.apache.catalina.util.LifecycleBase
org.apache.catalina.util.LifecycleMBeanBase
org.apache.catalina.valves.ValveBase
- All Implemented Interfaces:
MBeanRegistration,Contained,JmxEnabled,Lifecycle,Valve
- Direct Known Subclasses:
AbstractAccessLogValve,AuthenticatorBase,CrawlerSessionManagerValve,ErrorReportValve,HealthCheckValve,JDBCAccessLogValve,JvmRouteBinderValve,LoadBalancerDrainingValve,PersistentValve,RemoteIpValve,ReplicationValve,RequestFilterValve,RewriteValve,SemaphoreValve,SingleSignOn,SSLValve,StuckThreadDetectionValve
Convenience base class for implementations of the Valve interface.
A subclass MUST implement an
invoke()
method to provide the required functionality, and MAY
implement the Lifecycle interface to provide configuration
management and lifecycle support.- Author:
- Craig R. McClanahan
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.catalina.Lifecycle
Lifecycle.SingleUse -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanDoes this valve support Servlet 3+ async requests?protected ContainerThe Container whose pipeline this Valve is a component of.protected LogContainer logprotected ValveThe next Valve in the pipeline this Valve is a component of.protected static final StringManagerFields 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 TypeMethodDescriptionvoidExecute a periodic task, such as reloading, etc.Return the Container with which this Valve is associated, if any.Method implemented by sub-classes to identify the domain in which MBeans should be registered.getNext()Return the next Valve in this pipeline, ornullif this is the last Valve in the pipeline.Allow sub-classes to specify the key properties component of theObjectNamethat will be used to register this component.protected voidSub-classes wishing to perform additional initialization should override this method, ensuring that super.initInternal() is the first call in the overriding method.booleanvoidsetAsyncSupported(boolean asyncSupported) voidsetContainer(Container container) Set the Container with which this Valve is associated, if any.voidSet the Valve that follows this one in the pipeline it is part of.protected voidStart this component and implement the requirements ofLifecycleBase.startInternal().protected voidStop this component and implement the requirements ofLifecycleBase.stopInternal().toString()Return a String rendering of this object.Methods 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
-
sm
-
asyncSupported
protected boolean asyncSupportedDoes this valve support Servlet 3+ async requests? -
container
The Container whose pipeline this Valve is a component of. -
containerLog
Container log -
next
The next Valve in the pipeline this Valve is a component of.
-
-
Constructor Details
-
ValveBase
public ValveBase() -
ValveBase
public ValveBase(boolean asyncSupported)
-
-
Method Details
-
getContainer
Return the Container with which this Valve is associated, if any.- Specified by:
getContainerin interfaceContained- Returns:
- The Container with which this instance is associated or
nullif not associated with a Container
-
setContainer
Set the Container with which this Valve is associated, if any.- Specified by:
setContainerin interfaceContained- Parameters:
container- The new associated container
-
isAsyncSupported
public boolean isAsyncSupported()- Specified by:
isAsyncSupportedin interfaceValve
-
setAsyncSupported
public void setAsyncSupported(boolean asyncSupported) -
getNext
Return the next Valve in this pipeline, ornullif this is the last Valve in the pipeline. -
setNext
Set the Valve that follows this one in the pipeline it is part of. -
backgroundProcess
public void backgroundProcess()Execute a periodic task, such as reloading, etc. This method will be invoked inside the classloading context of this container. Unexpected throwables will be caught and logged.- Specified by:
backgroundProcessin interfaceValve
-
initInternal
Description copied from class:LifecycleMBeanBaseSub-classes wishing to perform additional initialization should override this method, ensuring that super.initInternal() is the first call in the overriding method.- Overrides:
initInternalin classLifecycleMBeanBase- Throws:
LifecycleException- If the initialisation fails
-
startInternal
Start this component and implement the requirements ofLifecycleBase.startInternal().- Specified by:
startInternalin classLifecycleBase- Throws:
LifecycleException- if this component detects a fatal error that prevents this component from being used
-
stopInternal
Stop this component and implement the requirements ofLifecycleBase.stopInternal().- Specified by:
stopInternalin classLifecycleBase- Throws:
LifecycleException- if this component detects a fatal error that prevents this component from being used
-
toString
Return a String rendering of this object. -
getObjectNameKeyProperties
Description copied from class:LifecycleMBeanBaseAllow sub-classes to specify the key properties component of theObjectNamethat will be used to register this component.- Specified by:
getObjectNameKeyPropertiesin classLifecycleMBeanBase- Returns:
- The string representation of the key properties component of the
desired
ObjectName
-
getDomainInternal
Description copied from class:LifecycleMBeanBaseMethod implemented by sub-classes to identify the domain in which MBeans should be registered.- Specified by:
getDomainInternalin classLifecycleMBeanBase- Returns:
- The name of the domain to use to register MBeans.
-