org.apache.cassandra.concurrent
Class JMXEnabledThreadPoolExecutor

java.lang.Object
  extended by java.util.concurrent.AbstractExecutorService
      extended by java.util.concurrent.ThreadPoolExecutor
          extended by org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor
              extended by 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
blockingExecutionHandler, logger
 
Constructor Summary
JMXEnabledThreadPoolExecutor(int corePoolSize, int maxPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, NamedThreadFactory threadFactory, java.lang.String jmxPath)
           
JMXEnabledThreadPoolExecutor(int corePoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, NamedThreadFactory threadFactory, java.lang.String jmxPath)
           
JMXEnabledThreadPoolExecutor(Stage stage)
           
JMXEnabledThreadPoolExecutor(java.lang.String threadPoolName)
           
JMXEnabledThreadPoolExecutor(java.lang.String threadPoolName, int priority)
           
JMXEnabledThreadPoolExecutor(java.lang.String threadPoolName, java.lang.String jmxPath)
           
 
Method Summary
 long getCompletedTasks()
          Get the number of completed tasks
 int getCurrentlyBlockedTasks()
          Get the number of tasks currently blocked, waiting to be accepted by the executor (because all threads are busy and the backing queue is full).
 long getPendingTasks()
          Get the number of tasks waiting to be executed
 int getTotalBlockedTasks()
          Get the number of tasks that had blocked before being accepted (or rejected).
protected  void onFinalAccept(java.lang.Runnable task)
           
protected  void onFinalRejection(java.lang.Runnable task)
           
protected  void onInitialRejection(java.lang.Runnable task)
           
 void shutdown()
           
 java.util.List<java.lang.Runnable> shutdownNow()
           
 
Methods inherited from class org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor
afterExecute, createWithPoolSize, logExceptionsAfterExecute
 
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(java.lang.String threadPoolName,
                                    java.lang.String jmxPath)

JMXEnabledThreadPoolExecutor

public JMXEnabledThreadPoolExecutor(java.lang.String threadPoolName,
                                    int priority)

JMXEnabledThreadPoolExecutor

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

JMXEnabledThreadPoolExecutor

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

JMXEnabledThreadPoolExecutor

public JMXEnabledThreadPoolExecutor(Stage stage)
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

getTotalBlockedTasks

public int getTotalBlockedTasks()
Description copied from interface: JMXEnabledThreadPoolExecutorMBean
Get the number of tasks that had blocked before being accepted (or rejected).

Specified by:
getTotalBlockedTasks in interface JMXEnabledThreadPoolExecutorMBean

getCurrentlyBlockedTasks

public int getCurrentlyBlockedTasks()
Description copied from interface: JMXEnabledThreadPoolExecutorMBean
Get the number of tasks currently blocked, waiting to be accepted by the executor (because all threads are busy and the backing queue is full).

Specified by:
getCurrentlyBlockedTasks in interface JMXEnabledThreadPoolExecutorMBean

onInitialRejection

protected void onInitialRejection(java.lang.Runnable task)
Overrides:
onInitialRejection in class DebuggableThreadPoolExecutor

onFinalAccept

protected void onFinalAccept(java.lang.Runnable task)
Overrides:
onFinalAccept in class DebuggableThreadPoolExecutor

onFinalRejection

protected void onFinalRejection(java.lang.Runnable task)
Overrides:
onFinalRejection in class DebuggableThreadPoolExecutor


Copyright © 2011 The Apache Software Foundation