Apache Tomcat 7.0.28

org.apache.catalina.core
Class StandardThreadExecutor

java.lang.Object
  extended by org.apache.catalina.util.LifecycleBase
      extended by org.apache.catalina.util.LifecycleMBeanBase
          extended by org.apache.catalina.core.StandardThreadExecutor
All Implemented Interfaces:
Executor, MBeanRegistration, Lifecycle, ResizableExecutor

public class StandardThreadExecutor
extends LifecycleMBeanBase
implements Executor, ResizableExecutor


Field Summary
protected  boolean daemon
          Run threads in daemon or non-daemon state
protected  ThreadPoolExecutor executor
          The executor we use for this component
protected  int maxIdleTime
          idle time in milliseconds
protected  int maxQueueSize
          The maximum number of elements that can queue up before we reject them
protected  int maxThreads
          max number of threads
protected  int minSpareThreads
          min number of threads
protected  String name
          the name of this thread pool
protected  String namePrefix
          Default name prefix for the thread name
protected  boolean prestartminSpareThreads
          prestart threads?
protected  int threadPriority
          Default thread priority
protected  long threadRenewalDelay
          After a context is stopped, threads in the pool are renewed.
 
Fields inherited from class org.apache.catalina.util.LifecycleMBeanBase
mserver
 
Fields 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
StandardThreadExecutor()
           
 
Method Summary
 void contextStopping()
           
protected  void destroyInternal()
          Sub-classes wishing to perform additional clean-up should override this method, ensuring that super.destroyInternal() is the last call in the overriding method.
 void execute(Runnable command)
           
 void execute(Runnable command, long timeout, TimeUnit unit)
          Executes the given command at some time in the future.
 int getActiveCount()
          Returns the approximate number of threads that are actively executing tasks.
 long getCompletedTaskCount()
           
 int getCorePoolSize()
           
protected  String getDomainInternal()
          Method implemented by sub-classes to identify the domain in which MBeans should be registered.
 int getLargestPoolSize()
           
 int getMaxIdleTime()
           
 int getMaxQueueSize()
           
 int getMaxThreads()
           
 int getMinSpareThreads()
           
 String getName()
           
 String getNamePrefix()
           
protected  String getObjectNameKeyProperties()
          Allow sub-classes to specify the key properties component of the ObjectName that will be used to register this component.
 int getPoolSize()
          Returns the current number of threads in the pool.
 int getQueueSize()
           
 int getThreadPriority()
           
 long getThreadRenewalDelay()
           
protected  void initInternal()
          Sub-classes wishing to perform additional initialization should override this method, ensuring that super.initInternal() is the first call in the overriding method.
 boolean isDaemon()
           
 boolean isPrestartminSpareThreads()
           
 boolean resizePool(int corePoolSize, int maximumPoolSize)
           
 boolean resizeQueue(int capacity)
           
 void setDaemon(boolean daemon)
           
 void setMaxIdleTime(int maxIdleTime)
           
 void setMaxQueueSize(int size)
           
 void setMaxThreads(int maxThreads)
           
 void setMinSpareThreads(int minSpareThreads)
           
 void setName(String name)
           
 void setNamePrefix(String namePrefix)
           
 void setPrestartminSpareThreads(boolean prestartminSpareThreads)
           
 void setThreadPriority(int threadPriority)
           
 void setThreadRenewalDelay(long threadRenewalDelay)
           
protected  void startInternal()
          Start the component and implement the requirements of LifecycleBase.startInternal().
protected  void stopInternal()
          Stop the component and implement the requirements of LifecycleBase.stopInternal().
 
Methods inherited from class org.apache.catalina.util.LifecycleMBeanBase
getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister
 
Methods inherited from class org.apache.catalina.util.LifecycleBase
addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, init, removeLifecycleListener, setState, setState, start, stop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.catalina.Lifecycle
addLifecycleListener, destroy, findLifecycleListeners, getState, getStateName, init, removeLifecycleListener, start, stop
 

Field Detail

threadPriority

protected int threadPriority
Default thread priority


daemon

protected boolean daemon
Run threads in daemon or non-daemon state


namePrefix

protected String namePrefix
Default name prefix for the thread name


maxThreads

protected int maxThreads
max number of threads


minSpareThreads

protected int minSpareThreads
min number of threads


maxIdleTime

protected int maxIdleTime
idle time in milliseconds


executor

protected ThreadPoolExecutor executor
The executor we use for this component


name

protected String name
the name of this thread pool


prestartminSpareThreads

protected boolean prestartminSpareThreads
prestart threads?


maxQueueSize

protected int maxQueueSize
The maximum number of elements that can queue up before we reject them


threadRenewalDelay

protected long threadRenewalDelay
After 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 Detail

StandardThreadExecutor

public StandardThreadExecutor()
Method Detail

initInternal

protected void initInternal()
                     throws LifecycleException
Description copied from class: LifecycleMBeanBase
Sub-classes wishing to perform additional initialization should override this method, ensuring that super.initInternal() is the first call in the overriding method.

Overrides:
initInternal in class LifecycleMBeanBase
Throws:
LifecycleException

startInternal

protected void startInternal()
                      throws LifecycleException
Start the component and implement the requirements of LifecycleBase.startInternal().

Specified by:
startInternal in class LifecycleBase
Throws:
LifecycleException - if this component detects a fatal error that prevents this component from being used

stopInternal

protected void stopInternal()
                     throws LifecycleException
Stop the component and implement the requirements of LifecycleBase.stopInternal().

Specified by:
stopInternal in class LifecycleBase
Throws:
LifecycleException - if this component detects a fatal error that needs to be reported

destroyInternal

protected void destroyInternal()
                        throws LifecycleException
Description copied from class: LifecycleMBeanBase
Sub-classes wishing to perform additional clean-up should override this method, ensuring that super.destroyInternal() is the last call in the overriding method.

Overrides:
destroyInternal in class LifecycleMBeanBase
Throws:
LifecycleException

execute

public void execute(Runnable command,
                    long timeout,
                    TimeUnit unit)
Description copied from interface: Executor
Executes 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 the Executor implementation. 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

Parameters:
command - the runnable task

execute

public void execute(Runnable command)
Specified by:
execute in interface Executor

contextStopping

public void contextStopping()

getThreadPriority

public int getThreadPriority()

isDaemon

public boolean isDaemon()

getNamePrefix

public String getNamePrefix()

getMaxIdleTime

public int getMaxIdleTime()

getMaxThreads

public int getMaxThreads()
Specified by:
getMaxThreads in interface ResizableExecutor

getMinSpareThreads

public int getMinSpareThreads()

getName

public String getName()

isPrestartminSpareThreads

public boolean isPrestartminSpareThreads()

setThreadPriority

public void setThreadPriority(int threadPriority)

setDaemon

public void setDaemon(boolean daemon)

setNamePrefix

public void setNamePrefix(String namePrefix)

setMaxIdleTime

public void setMaxIdleTime(int maxIdleTime)

setMaxThreads

public void setMaxThreads(int maxThreads)

setMinSpareThreads

public void setMinSpareThreads(int minSpareThreads)

setPrestartminSpareThreads

public void setPrestartminSpareThreads(boolean prestartminSpareThreads)

setName

public void setName(String name)

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: ResizableExecutor
Returns the approximate number of threads that are actively executing tasks.

Specified by:
getActiveCount in interface ResizableExecutor
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: ResizableExecutor
Returns the current number of threads in the pool.

Specified by:
getPoolSize in interface ResizableExecutor
Returns:
the number of threads

getQueueSize

public int getQueueSize()

resizePool

public boolean resizePool(int corePoolSize,
                          int maximumPoolSize)
Specified by:
resizePool in interface ResizableExecutor

resizeQueue

public boolean resizeQueue(int capacity)
Specified by:
resizeQueue in interface ResizableExecutor

getDomainInternal

protected String getDomainInternal()
Description copied from class: LifecycleMBeanBase
Method implemented by sub-classes to identify the domain in which MBeans should be registered.

Specified by:
getDomainInternal in class LifecycleMBeanBase
Returns:
The name of the domain to use to register MBeans.

getObjectNameKeyProperties

protected String getObjectNameKeyProperties()
Description copied from class: LifecycleMBeanBase
Allow sub-classes to specify the key properties component of the ObjectName that will be used to register this component.

Specified by:
getObjectNameKeyProperties in class LifecycleMBeanBase
Returns:
The string representation of the key properties component of the desired ObjectName

Apache Tomcat 7.0.28

Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.