## org.apache.cassandra.concurrent
Class JMXEnabledThreadPoolExecutor

    java.lang.Object
      java.util.concurrent.AbstractExecutorService
          java.util.concurrent.ThreadPoolExecutor
              org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor
                  org.apache.cassandra.concurrent.JMXEnabledThreadPoolExecutor

All Implemented Interfaces:
  java.util.concurrent.Executor, java.util.concurrent.ExecutorService, IExecutorMBean, JMXEnabledThreadPoolExecutorMBean

Direct Known Subclasses:
  JMXConfigurableThreadPoolExecutor

    public class JMXEnabledThreadPoolExecutor

extends DebuggableThreadPoolExecutor
implements JMXEnabledThreadPoolExecutorMBean

This is a wrapper class for the ScheduledThreadPoolExecutor. It provides an implementation for the afterExecute() found in the ThreadPoolExecutor class to log any unexpected Runtime Exceptions.

Nested Class Summary

Nested classes/interfaces inherited from class java.util.concurrent.ThreadPoolExecutor
`java.util.concurrent.ThreadPoolExecutor.AbortPolicy, java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy, java.util.concurrent.ThreadPoolExecutor.DiscardOldestPolicy, java.util.concurrent.ThreadPoolExecutor.DiscardPolicy`

Field Summary

Fields inherited from class org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor
`logger`

Constructor Summary
`JMXEnabledThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, NamedThreadFactory threadFactory)`
`JMXEnabledThreadPoolExecutor(java.lang.String threadPoolName)`

Method Summary
`long` `getCompletedTasks()` Get the number of completed tasks
`long` `getPendingTasks()` Get the number of tasks waiting to be executed
`void` `shutdown()`
`java.util.List<java.lang.Runnable>` `shutdownNow()`

Methods inherited from class org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor
`afterExecute`

Methods inherited from class java.util.concurrent.ThreadPoolExecutor

`allowCoreThreadTimeOut, allowsCoreThreadTimeOut, awaitTermination, beforeExecute, execute, finalize, getActiveCount, getCompletedTaskCount, getCorePoolSize, getKeepAliveTime, getLargestPoolSize, getMaximumPoolSize, getPoolSize, getQueue, getRejectedExecutionHandler, getTaskCount, getThreadFactory, isShutdown, isTerminated, isTerminating, prestartAllCoreThreads, prestartCoreThread, purge, remove, setCorePoolSize, setKeepAliveTime, setMaximumPoolSize, setRejectedExecutionHandler, setThreadFactory, terminated`

Methods inherited from class java.util.concurrent.AbstractExecutorService
`invokeAll, invokeAll, invokeAny, invokeAny, newTaskFor, newTaskFor, submit, submit, submit`

Methods inherited from class java.lang.Object
`clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.apache.cassandra.concurrent.IExecutorMBean
`getActiveCount`

Constructor Detail

### JMXEnabledThreadPoolExecutor

    public JMXEnabledThreadPoolExecutor(java.lang.String threadPoolName)

### JMXEnabledThreadPoolExecutor

    public JMXEnabledThreadPoolExecutor(int corePoolSize,
                                        int maximumPoolSize,
                                        long keepAliveTime,
                                        java.util.concurrent.TimeUnit unit,
                                        java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue,
                                        NamedThreadFactory threadFactory)

Method Detail

### shutdown

    public void shutdown()

  Specified by:
    `shutdown` in interface `java.util.concurrent.ExecutorService`
  Overrides:
    `shutdown` in class `java.util.concurrent.ThreadPoolExecutor`

### shutdownNow

    public java.util.List<java.lang.Runnable> shutdownNow()

  Specified by:
    `shutdownNow` in interface `java.util.concurrent.ExecutorService`
  Overrides:
    `shutdownNow` in class `java.util.concurrent.ThreadPoolExecutor`

### getCompletedTasks

    public long getCompletedTasks()

  Get the number of completed tasks

  Specified by:
    `getCompletedTasks` in interface `IExecutorMBean`

### getPendingTasks

    public long getPendingTasks()

  Get the number of tasks waiting to be executed

  Specified by:
    `getPendingTasks` in interface `IExecutorMBean`

Copyright © 2010 The Apache Software Foundation