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:
javax.management.MBeanRegistration,Contained,JmxEnabled,Lifecycle,Valve
- Direct Known Subclasses:
AbstractAccessLogValve,AuthenticatorBase,CrawlerSessionManagerValve,ErrorReportValve,JDBCAccessLogValve,JvmRouteBinderValve,LoadBalancerDrainingValve,PersistentValve,RemoteIpValve,ReplicationValve,RequestFilterValve,RewriteValve,SemaphoreValve,SingleSignOn,SSLValve,StuckThreadDetectionValve
public abstract class ValveBase extends LifecycleMBeanBase implements Contained, Valve
Convenience base class for implementations of the Valve interface. A subclass MUST implement aninvoke()method to provide the required functionality, and MAY implement theLifecycleinterface 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
Fields Modifier and Type Field Description protected booleanasyncSupportedDoes this valve support Servlet 3+ async requests?protected ContainercontainerThe Container whose pipeline this Valve is a component of.protected LogcontainerLogContainer logprotected ValvenextThe next Valve in the pipeline this Valve is a component of.protected static StringManagersm-
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
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbackgroundProcess()Execute a periodic task, such as reloading, etc.ContainergetContainer()Get theContainerwith which this instance is associated.java.lang.StringgetDomainInternal()Method implemented by sub-classes to identify the domain in which MBeans should be registered.ValvegetNext()Returns the next Valve in this pipeline, ornullif this is the last Valve in the pipeline.java.lang.StringgetObjectNameKeyProperties()Allow sub-classes to specify the key properties component of theObjectNamethat will be used to register this component.protected voidinitInternal()Sub-classes wishing to perform additional initialization should override this method, ensuring that super.initInternal() is the first call in the overriding method.booleanisAsyncSupported()voidsetAsyncSupported(boolean asyncSupported)voidsetContainer(Container container)Set theContainerwith which this instance is associated.voidsetNext(Valve valve)Set the next Valve in the pipeline containing this Valve.protected voidstartInternal()Start this component and implement the requirements ofLifecycleBase.startInternal().protected voidstopInternal()Stop this component and implement the requirements ofLifecycleBase.stopInternal().java.lang.StringtoString()-
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, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stop
-
-
-
-
Field Detail
-
sm
protected static final StringManager sm
-
asyncSupported
protected boolean asyncSupported
Does this valve support Servlet 3+ async requests?
-
container
protected Container container
The Container whose pipeline this Valve is a component of.
-
containerLog
protected Log containerLog
Container log
-
next
protected Valve next
The next Valve in the pipeline this Valve is a component of.
-
-
Method Detail
-
getContainer
public Container getContainer()
Description copied from interface:ContainedGet theContainerwith which this instance is associated.- Specified by:
getContainerin interfaceContained- Returns:
- The Container with which this instance is associated or
nullif not associated with a Container
-
setContainer
public void setContainer(Container container)
Description copied from interface:ContainedSet theContainerwith which this instance is associated.- Specified by:
setContainerin interfaceContained- Parameters:
container- The Container instance with which this instance is to be associated, ornullto disassociate this instance from any Container
-
isAsyncSupported
public boolean isAsyncSupported()
- Specified by:
isAsyncSupportedin interfaceValve
-
setAsyncSupported
public void setAsyncSupported(boolean asyncSupported)
-
getNext
public Valve getNext()
Description copied from interface:ValveReturns the next Valve in this pipeline, ornullif this is the last Valve in the pipeline.
-
setNext
public void setNext(Valve valve)
Description copied from interface:ValveSet the next Valve in the pipeline containing this Valve.
-
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.The default implementation is NO-OP.
- Specified by:
backgroundProcessin interfaceValve
-
initInternal
protected void initInternal() throws LifecycleExceptionDescription 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
protected void startInternal() throws LifecycleExceptionStart 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
protected void stopInternal() throws LifecycleExceptionStop 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
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
getObjectNameKeyProperties
public java.lang.String 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
public java.lang.String 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.
-
-