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
A
LifecycleListener
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
This listener must be declared in server.xml to be active.ThreadPoolExecutor
.afterExecute().
-
-
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
-
-