Package org.apache.catalina.core
Class StandardThreadExecutor
java.lang.Object
org.apache.catalina.util.LifecycleBase
org.apache.catalina.util.LifecycleMBeanBase
org.apache.catalina.core.StandardThreadExecutor
- All Implemented Interfaces:
Executor,MBeanRegistration,Executor,JmxEnabled,Lifecycle,ResizableExecutor
public class StandardThreadExecutor
extends LifecycleMBeanBase
implements Executor, ResizableExecutor
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.catalina.Lifecycle
Lifecycle.SingleUse -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanRun threads in daemon or non-daemon stateprotected ThreadPoolExecutorThe executor we use for this componentprotected intidle time in millisecondsprotected intThe maximum number of elements that can queue up before we reject themprotected intmax number of threadsprotected intmin number of threadsprotected Stringthe name of this thread poolprotected StringDefault name prefix for the thread nameprotected static final StringManagerprotected intDefault thread priorityprotected longAfter a context is stopped, threads in the pool are renewed.Fields inherited from class org.apache.catalina.util.LifecycleMBeanBase
mserverFields 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 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidvoidDeprecated.intReturns the approximate number of threads that are actively executing tasks.longintprotected StringMethod implemented by sub-classes to identify the domain in which MBeans should be registered.intintintintintgetName()protected StringAllow sub-classes to specify the key properties component of theObjectNamethat will be used to register this component.intReturns the current number of threads in the pool.intintlongbooleanisDaemon()booleanresizePool(int corePoolSize, int maximumPoolSize) booleanresizeQueue(int capacity) voidsetDaemon(boolean daemon) voidsetMaxIdleTime(int maxIdleTime) voidsetMaxQueueSize(int size) voidsetMaxThreads(int maxThreads) voidsetMinSpareThreads(int minSpareThreads) voidvoidsetNamePrefix(String namePrefix) voidsetThreadPriority(int threadPriority) voidsetThreadRenewalDelay(long threadRenewalDelay) protected voidStart the component and implement the requirements ofLifecycleBase.startInternal().protected voidStop the component and implement the requirements ofLifecycleBase.stopInternal().Methods inherited from class org.apache.catalina.util.LifecycleMBeanBase
destroyInternal, getDomain, getObjectName, initInternal, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister, unregisterMethods inherited from class org.apache.catalina.util.LifecycleBase
addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stopMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.catalina.Lifecycle
addLifecycleListener, destroy, findLifecycleListeners, getState, getStateName, init, removeLifecycleListener, start, stop
-
Field Details
-
sm
-
threadPriority
protected int threadPriorityDefault thread priority -
daemon
protected boolean daemonRun threads in daemon or non-daemon state -
namePrefix
Default name prefix for the thread name -
maxThreads
protected int maxThreadsmax number of threads -
minSpareThreads
protected int minSpareThreadsmin number of threads -
maxIdleTime
protected int maxIdleTimeidle time in milliseconds -
executor
The executor we use for this component -
name
the name of this thread pool -
maxQueueSize
protected int maxQueueSizeThe maximum number of elements that can queue up before we reject them -
threadRenewalDelay
protected long threadRenewalDelayAfter a context is stopped, threads in the pool are renewed. To avoid renewing all threads at the same time, this delay is observed between 2 threads being renewed.
-
-
Constructor Details
-
StandardThreadExecutor
public StandardThreadExecutor()
-
-
Method Details
-
startInternal
Start the 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
Stop the component and implement the requirements ofLifecycleBase.stopInternal().- Specified by:
stopInternalin classLifecycleBase- Throws:
LifecycleException- if this component detects a fatal error that needs to be reported
-
execute
Deprecated.Description copied from interface:ExecutorExecutes the given command at some time in the future. The command may execute in a new thread, in a pooled thread, or in the calling thread, at the discretion of theExecutorimplementation. If no threads are available, it will be added to the work queue. If the work queue is full, the system will wait for the specified time until it throws a RejectedExecutionException -
execute
-
contextStopping
public void contextStopping() -
getThreadPriority
public int getThreadPriority() -
isDaemon
public boolean isDaemon() -
getNamePrefix
-
getMaxIdleTime
public int getMaxIdleTime() -
getMaxThreads
public int getMaxThreads()- Specified by:
getMaxThreadsin interfaceResizableExecutor
-
getMinSpareThreads
public int getMinSpareThreads() -
getName
-
setThreadPriority
public void setThreadPriority(int threadPriority) -
setDaemon
public void setDaemon(boolean daemon) -
setNamePrefix
-
setMaxIdleTime
public void setMaxIdleTime(int maxIdleTime) -
setMaxThreads
public void setMaxThreads(int maxThreads) -
setMinSpareThreads
public void setMinSpareThreads(int minSpareThreads) -
setName
-
setMaxQueueSize
public void setMaxQueueSize(int size) -
getMaxQueueSize
public int getMaxQueueSize() -
getThreadRenewalDelay
public long getThreadRenewalDelay() -
setThreadRenewalDelay
public void setThreadRenewalDelay(long threadRenewalDelay) -
getActiveCount
public int getActiveCount()Description copied from interface:ResizableExecutorReturns the approximate number of threads that are actively executing tasks.- Specified by:
getActiveCountin interfaceResizableExecutor- Returns:
- the number of threads
-
getCompletedTaskCount
public long getCompletedTaskCount() -
getCorePoolSize
public int getCorePoolSize() -
getLargestPoolSize
public int getLargestPoolSize() -
getPoolSize
public int getPoolSize()Description copied from interface:ResizableExecutorReturns the current number of threads in the pool.- Specified by:
getPoolSizein interfaceResizableExecutor- Returns:
- the number of threads
-
getQueueSize
public int getQueueSize() -
resizePool
public boolean resizePool(int corePoolSize, int maximumPoolSize) - Specified by:
resizePoolin interfaceResizableExecutor
-
resizeQueue
public boolean resizeQueue(int capacity) - Specified by:
resizeQueuein interfaceResizableExecutor
-
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.
-
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
-