Class Scheduler.SafeScheduledThreadPoolExecutor

java.lang.Object
java.util.concurrent.AbstractExecutorService
java.util.concurrent.ThreadPoolExecutor
java.util.concurrent.ScheduledThreadPoolExecutor
org.elasticsearch.threadpool.Scheduler.SafeScheduledThreadPoolExecutor
All Implemented Interfaces:
java.util.concurrent.Executor, java.util.concurrent.ExecutorService, java.util.concurrent.ScheduledExecutorService
Enclosing interface:
Scheduler

public static class Scheduler.SafeScheduledThreadPoolExecutor
extends java.util.concurrent.ScheduledThreadPoolExecutor
This subclass ensures to properly bubble up Throwable instances of both type Error and Exception thrown in submitted/scheduled tasks to the uncaught exception handler
  • 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

    Constructors 
    Constructor Description
    SafeScheduledThreadPoolExecutor​(int corePoolSize)  
    SafeScheduledThreadPoolExecutor​(int corePoolSize, java.util.concurrent.ThreadFactory threadFactory)  
    SafeScheduledThreadPoolExecutor​(int corePoolSize, java.util.concurrent.ThreadFactory threadFactory, java.util.concurrent.RejectedExecutionHandler handler)  
  • Method Summary

    Modifier and Type Method Description
    protected void afterExecute​(java.lang.Runnable r, java.lang.Throwable t)  

    Methods inherited from class java.util.concurrent.ScheduledThreadPoolExecutor

    decorateTask, decorateTask, execute, getContinueExistingPeriodicTasksAfterShutdownPolicy, getExecuteExistingDelayedTasksAfterShutdownPolicy, getQueue, getRemoveOnCancelPolicy, schedule, schedule, scheduleAtFixedRate, scheduleWithFixedDelay, setContinueExistingPeriodicTasksAfterShutdownPolicy, setExecuteExistingDelayedTasksAfterShutdownPolicy, setRemoveOnCancelPolicy, 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, remove, setCorePoolSize, setKeepAliveTime, setMaximumPoolSize, setRejectedExecutionHandler, setThreadFactory, terminated, toString

    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, wait, wait, wait

    Methods inherited from interface java.util.concurrent.ExecutorService

    awaitTermination, invokeAll, invokeAll, invokeAny, invokeAny, isShutdown, isTerminated
  • Constructor Details

  • Method Details

    • afterExecute

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