Package org.apache.catalina.core
Class ThreadLocalLeakPreventionListener
- java.lang.Object
-
- org.apache.catalina.core.FrameworkListener
-
- org.apache.catalina.core.ThreadLocalLeakPreventionListener
-
- All Implemented Interfaces:
ContainerListener
,LifecycleListener
public class ThreadLocalLeakPreventionListener extends FrameworkListener
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.-
Fields inherited from class org.apache.catalina.core.FrameworkListener
contextListeners
-
-
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.protected LifecycleListener
createLifecycleListener(Context context)
Create a lifecycle listener which will then be added to the specified context.void
lifecycleEvent(LifecycleEvent event)
Listens forLifecycleEvent
for the start of theServer
to initialize itself and then for after_stop events of eachContext
.-
Methods inherited from class org.apache.catalina.core.FrameworkListener
processContainerAddChild, processContainerRemoveChild, registerContextListener, registerListenersForEngine, registerListenersForHost, registerListenersForServer
-
-
-
-
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
- Overrides:
lifecycleEvent
in classFrameworkListener
- 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
- Overrides:
containerEvent
in classFrameworkListener
- Parameters:
event
- ContainerEvent that has occurred
-
createLifecycleListener
protected LifecycleListener createLifecycleListener(Context context)
Description copied from class:FrameworkListener
Create a lifecycle listener which will then be added to the specified context.- Specified by:
createLifecycleListener
in classFrameworkListener
- Parameters:
context
- the associated Context- Returns:
- the lifecycle listener
-
-