Links Top Level Elements Executors Connectors Containers Nested Components Cluster Elements web.xml Other | The Executor (thread pool)Introduction |
The Executor represents a thread pool that can be shared
between components in Tomcat. Historically there has been a thread pool per
connector created but this allows you to share a thread pool, between (primarily) connector
but also other components when those get configured to support executors
The executor has to implement the org.apache.catalina.Executor interface.
The executor is a nested element to the Service element.
And in order for it to be picked up by the connectors, the Executor element has to appear
prior to the Connector element in server.xml
|
Attributes |
Common Attributes |
All implementations of Executor
support the following attributes:
Attribute | Description |
---|
className |
The class of the implementation. The implementation has to implement the
org.apache.catalina.Executor interface.
This interface ensures that the object can be referenced through its name attribute
and that implements Lifecycle, so that it can be started and stopped with the container.
The default value for the className is org.apache.catalina.core.StandardThreadExecutor
| name |
The name used to reference this pool in other places in server.xml.
The name is required and must be unique.
|
|
Standard Implementation |
The default implementation supports the following attributes:
Attribute | Description |
---|
threadPriority |
(int) The thread priority for threads in the executor, the default is
5 (the value of the Thread.NORM_PRIORITY constant)
| daemon |
(boolean) Whether the threads should be daemon threads or not, the default is true
| namePrefix |
(String) The name prefix for each thread created by the executor.
The thread name for an individual thread will be namePrefix+threadNumber
| maxThreads |
(int) The max number of active threads in this pool, default is 200
| minSpareThreads |
(int) The minimum number of threads (idle and active) always kept alive, default is 25
| maxIdleTime |
(int) The number of milliseconds before an idle thread shutsdown, unless the number of active threads are less
or equal to minSpareThreads. Default value is 60000 (1 minute)
| maxQueueSize |
(int) The maximum number of runnable tasks that can queue up awaiting
execution before we reject them. Default value is Integer.MAX_VALUE
| prestartminSpareThreads |
(boolean) Whether minSpareThreads should be started when starting the Executor or not,
the default is false
| threadRenewalDelay |
(long) If a ThreadLocalLeakPreventionListener is configured,
it will notify this executor about stopped contexts.
After a context is stopped, threads in the pool are renewed. To avoid renewing all threads at the same time,
this option sets a delay between renewal of any 2 threads. The value is in ms,
default value is 1000 ms. If value is negative, threads are not renewed.
|
|
|
|