org.apache.cassandra.concurrent
Class DebuggableThreadPoolExecutor

java.lang.Object
  extended by java.util.concurrent.AbstractExecutorService
      extended by java.util.concurrent.ThreadPoolExecutor
          extended by org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor
All Implemented Interfaces:
java.util.concurrent.Executor, java.util.concurrent.ExecutorService, DebuggableThreadPoolExecutorMBean, IExecutorMBean

public class DebuggableThreadPoolExecutor
extends java.util.concurrent.ThreadPoolExecutor
implements DebuggableThreadPoolExecutorMBean

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
 
Constructor Summary
DebuggableThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.BlockingQueue<java.lang.Runnable> workQueue, NamedThreadFactory threadFactory)
           
DebuggableThreadPoolExecutor(java.lang.String threadPoolName)
           
 
Method Summary
 void afterExecute(java.lang.Runnable r, java.lang.Throwable t)
           
 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 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

DebuggableThreadPoolExecutor

public DebuggableThreadPoolExecutor(java.lang.String threadPoolName)

DebuggableThreadPoolExecutor

public DebuggableThreadPoolExecutor(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

afterExecute

public void afterExecute(java.lang.Runnable r,
                         java.lang.Throwable t)
Overrides:
afterExecute in class java.util.concurrent.ThreadPoolExecutor


Copyright © 2010 The Apache Software Foundation