Package org.apache.catalina.core
Class ThreadLocalLeakPreventionListener
- java.lang.Object
-
- org.apache.catalina.core.ThreadLocalLeakPreventionListener
-
- All Implemented Interfaces:
ContainerListener
,LifecycleListener
public class ThreadLocalLeakPreventionListener extends java.lang.Object implements LifecycleListener, ContainerListener
ALifecycleListener
that triggers the renewal of threads in Executor pools when aContext
is being stopped to avoid thread-local related memory leaks.Note : active threads will be renewed one by one when they come back to the pool after executing their task, see
ThreadPoolExecutor
.afterExecute().This listener must only be nested within
Server
elements.
-
-
Field Summary
Fields Modifier and Type Field Description protected static StringManager
sm
The string manager for this package.
-
Constructor Summary
Constructors Constructor Description ThreadLocalLeakPreventionListener()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
containerEvent(ContainerEvent event)
Acknowledge the occurrence of the specified event.void
lifecycleEvent(LifecycleEvent event)
Listens forLifecycleEvent
for the start of theServer
to initialize itself and then for after_stop events of eachContext
.protected void
processContainerAddChild(Container parent, Container child)
protected void
processContainerRemoveChild(Container parent, Container child)
-
-
-
Field Detail
-
sm
protected static final StringManager sm
The string manager for this package.
-
-
Method Detail
-
lifecycleEvent
public void lifecycleEvent(LifecycleEvent event)
Listens forLifecycleEvent
for the start of theServer
to initialize itself and then for after_stop events of eachContext
.- Specified by:
lifecycleEvent
in interfaceLifecycleListener
- Parameters:
event
- LifecycleEvent that has occurred
-
containerEvent
public void containerEvent(ContainerEvent event)
Description copied from interface:ContainerListener
Acknowledge the occurrence of the specified event.- Specified by:
containerEvent
in interfaceContainerListener
- Parameters:
event
- ContainerEvent that has occurred
-
processContainerAddChild
protected void processContainerAddChild(Container parent, Container child)
-
-