## org.apache.cassandra.concurrent
Class DebuggableScheduledThreadPoolExecutor

    java.lang.Object
      java.util.concurrent.AbstractExecutorService
          java.util.concurrent.ThreadPoolExecutor
              java.util.concurrent.ScheduledThreadPoolExecutor
                  org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor

All Implemented Interfaces:
  java.util.concurrent.Executor, java.util.concurrent.ExecutorService, java.util.concurrent.ScheduledExecutorService

    public class DebuggableScheduledThreadPoolExecutor

extends java.util.concurrent.ScheduledThreadPoolExecutor

Like DebuggableThreadPoolExecutor, DebuggableScheduledThreadPoolExecutor always logs exceptions from the tasks it is given, even if Future.get is never called elsewhere. DebuggableScheduledThreadPoolExecutor also catches exceptions during Task execution so that they don't supress subsequent invocations of the task.

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
`DebuggableScheduledThreadPoolExecutor(int corePoolSize, java.lang.String threadPoolName, int priority)`
`DebuggableScheduledThreadPoolExecutor(java.lang.String threadPoolName)`

Method Summary
`void` `afterExecute(java.lang.Runnable r, java.lang.Throwable t)`
`java.util.concurrent.ScheduledFuture<?>` `scheduleAtFixedRate(java.lang.Runnable command, long initialDelay, long period, java.util.concurrent.TimeUnit unit)`
`java.util.concurrent.ScheduledFuture<?>` `scheduleWithFixedDelay(java.lang.Runnable command, long initialDelay, long delay, java.util.concurrent.TimeUnit unit)`

Methods inherited from class java.util.concurrent.ScheduledThreadPoolExecutor
`decorateTask, decorateTask, execute, getContinueExistingPeriodicTasksAfterShutdownPolicy, getExecuteExistingDelayedTasksAfterShutdownPolicy, getQueue, remove, schedule, schedule, setContinueExistingPeriodicTasksAfterShutdownPolicy, setExecuteExistingDelayedTasksAfterShutdownPolicy, shutdown, shutdownNow, submit, submit, submit`

Methods inherited from class java.util.concurrent.ThreadPoolExecutor

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

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

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

Methods inherited from interface java.util.concurrent.ExecutorService
`awaitTermination, invokeAll, invokeAll, invokeAny, invokeAny, isShutdown, isTerminated`

Constructor Detail

### DebuggableScheduledThreadPoolExecutor

    public DebuggableScheduledThreadPoolExecutor(int corePoolSize,
                                                 java.lang.String threadPoolName,
                                                 int priority)

### DebuggableScheduledThreadPoolExecutor

    public DebuggableScheduledThreadPoolExecutor(java.lang.String threadPoolName)

Method Detail

### afterExecute

    public void afterExecute(java.lang.Runnable r,
                             java.lang.Throwable t)

  Overrides:
    `afterExecute` in class `java.util.concurrent.ThreadPoolExecutor`

### scheduleAtFixedRate

    public java.util.concurrent.ScheduledFuture<?> scheduleAtFixedRate(java.lang.Runnable command,
                                                                       long initialDelay,
                                                                       long period,
                                                                       java.util.concurrent.TimeUnit unit)

  Specified by:
    `scheduleAtFixedRate` in interface `java.util.concurrent.ScheduledExecutorService`
  Overrides:
    `scheduleAtFixedRate` in class `java.util.concurrent.ScheduledThreadPoolExecutor`

### scheduleWithFixedDelay

    public java.util.concurrent.ScheduledFuture<?> scheduleWithFixedDelay(java.lang.Runnable command,
                                                                          long initialDelay,
                                                                          long delay,
                                                                          java.util.concurrent.TimeUnit unit)

  Specified by:
    `scheduleWithFixedDelay` in interface `java.util.concurrent.ScheduledExecutorService`
  Overrides:
    `scheduleWithFixedDelay` in class `java.util.concurrent.ScheduledThreadPoolExecutor`

Copyright © 2013 The Apache Software Foundation