org.apache.camel.util.concurrent
Class RejectableScheduledThreadPoolExecutor
java.lang.Object
java.util.concurrent.AbstractExecutorService
java.util.concurrent.ThreadPoolExecutor
java.util.concurrent.ScheduledThreadPoolExecutor
org.apache.camel.util.concurrent.RejectableScheduledThreadPoolExecutor
- All Implemented Interfaces:
- Executor, ExecutorService, ScheduledExecutorService
public class RejectableScheduledThreadPoolExecutor
- extends ScheduledThreadPoolExecutor
Scheduled thread pool executor that creates RejectableFutureTask instead of
FutureTask when registering new tasks for execution.
Instances of RejectableFutureTask are required to handle ThreadPoolRejectedPolicy.Discard
and ThreadPoolRejectedPolicy.DiscardOldest policies correctly, e.g. notify
Callable and Runnable tasks when they are rejected.
To be notified of rejection tasks have to implement Rejectable interface:
public class RejectableTask implements Runnable, Rejectable {
@Override
public void run() {
// execute task
}
@Override
public void reject() {
// do something useful on rejection
}
}
If the task does not implement Rejectable interface the behavior is exactly the same as with
ordinary ScheduledThreadPoolExecutor.
- See Also:
RejectableFutureTask,
Rejectable,
RejectableThreadPoolExecutor
| Methods inherited from class java.util.concurrent.ScheduledThreadPoolExecutor |
decorateTask, decorateTask, execute, getContinueExistingPeriodicTasksAfterShutdownPolicy, getExecuteExistingDelayedTasksAfterShutdownPolicy, getQueue, remove, schedule, schedule, scheduleAtFixedRate, scheduleWithFixedDelay, setContinueExistingPeriodicTasksAfterShutdownPolicy, setExecuteExistingDelayedTasksAfterShutdownPolicy, shutdown, shutdownNow, submit, submit, submit |
| Methods inherited from class java.util.concurrent.ThreadPoolExecutor |
afterExecute, 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 |
RejectableScheduledThreadPoolExecutor
public RejectableScheduledThreadPoolExecutor(int corePoolSize)
RejectableScheduledThreadPoolExecutor
public RejectableScheduledThreadPoolExecutor(int corePoolSize,
ThreadFactory threadFactory)
RejectableScheduledThreadPoolExecutor
public RejectableScheduledThreadPoolExecutor(int corePoolSize,
RejectedExecutionHandler handler)
RejectableScheduledThreadPoolExecutor
public RejectableScheduledThreadPoolExecutor(int corePoolSize,
ThreadFactory threadFactory,
RejectedExecutionHandler handler)
newTaskFor
protected <T> RunnableFuture<T> newTaskFor(Runnable runnable,
T value)
- Overrides:
newTaskFor in class AbstractExecutorService
newTaskFor
protected <T> RunnableFuture<T> newTaskFor(Callable<T> callable)
- Overrides:
newTaskFor in class AbstractExecutorService
toString
public String toString()
- Overrides:
toString in class Object
Apache Camel