Package org.apache.tomcat.util.threads

## Class ScheduledThreadPoolExecutor

- java.lang.Object
- - org.apache.tomcat.util.threads.ScheduledThreadPoolExecutor

All Implemented Interfaces:
  `Executor`, `ExecutorService`, `ScheduledExecutorService`

    public class ScheduledThreadPoolExecutor
    extends Object
    implements ScheduledExecutorService

Class which wraps a ScheduledExecutorService, while preventing lifecycle and configuration operations.

### Field Summary

Fields
`protected ScheduledExecutorService` `executor`

### Constructor Summary

Constructors
`ScheduledThreadPoolExecutor​(ScheduledExecutorService executor)` Builds a wrapper for the given executor.

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `awaitTermination​(long timeout, TimeUnit unit)`
`void` `execute​(Runnable command)`
`<T> List<Future<T>>` `invokeAll​(Collection<? extends Callable<T>> tasks)`
`<T> List<Future<T>>` `invokeAll​(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)`
`<T> T` `invokeAny​(Collection<? extends Callable<T>> tasks)`
`<T> T` `invokeAny​(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)`
`boolean` `isShutdown()`
`boolean` `isTerminated()`
`ScheduledFuture<?>` `schedule​(Runnable command, long delay, TimeUnit unit)`
`<V> ScheduledFuture<V>` `schedule​(Callable<V> callable, long delay, TimeUnit unit)`
`ScheduledFuture<?>` `scheduleAtFixedRate​(Runnable command, long initialDelay, long period, TimeUnit unit)`
`ScheduledFuture<?>` `scheduleWithFixedDelay​(Runnable command, long initialDelay, long delay, TimeUnit unit)`
`void` `shutdown()`
`List<Runnable>` `shutdownNow()`
`Future<?>` `submit​(Runnable task)`
`<T> Future<T>` `submit​(Runnable task, T result)`
`<T> Future<T>` `submit​(Callable<T> task)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### executor

    protected final ScheduledExecutorService executor

### Constructor Detail

#### ScheduledThreadPoolExecutor

    public ScheduledThreadPoolExecutor​(ScheduledExecutorService executor)

Builds a wrapper for the given executor.

Parameters:
  `executor` - the wrapped executor

### Method Detail

#### shutdown

    public void shutdown()

Specified by:
  `shutdown` in interface `ExecutorService`

#### shutdownNow

    public List<Runnable> shutdownNow()

Specified by:
  `shutdownNow` in interface `ExecutorService`

#### isShutdown

    public boolean isShutdown()

Specified by:
  `isShutdown` in interface `ExecutorService`

#### isTerminated

    public boolean isTerminated()

Specified by:
  `isTerminated` in interface `ExecutorService`

#### awaitTermination

    public boolean awaitTermination​(long timeout,
                                    TimeUnit unit)
                             throws InterruptedException

Specified by:
  `awaitTermination` in interface `ExecutorService`
Throws:
  `InterruptedException`

#### submit

    public <T> Future<T> submit​(Callable<T> task)

Specified by:
  `submit` in interface `ExecutorService`

#### submit

    public <T> Future<T> submit​(Runnable task,
                                T result)

Specified by:
  `submit` in interface `ExecutorService`

#### submit

    public Future<?> submit​(Runnable task)

Specified by:
  `submit` in interface `ExecutorService`

#### invokeAll

    public <T> List<Future<T>> invokeAll​(Collection<? extends Callable<T>> tasks)
                                  throws InterruptedException

Specified by:
  `invokeAll` in interface `ExecutorService`
Throws:
  `InterruptedException`

#### invokeAll

    public <T> List<Future<T>> invokeAll​(Collection<? extends Callable<T>> tasks,
                                         long timeout,
                                         TimeUnit unit)
                                  throws InterruptedException

Specified by:
  `invokeAll` in interface `ExecutorService`
Throws:
  `InterruptedException`

#### invokeAny

    public <T> T invokeAny​(Collection<? extends Callable<T>> tasks)
                    throws InterruptedException,
                           ExecutionException

Specified by:
  `invokeAny` in interface `ExecutorService`
Throws:
  `InterruptedException`
  `ExecutionException`

#### invokeAny

    public <T> T invokeAny​(Collection<? extends Callable<T>> tasks,
                           long timeout,
                           TimeUnit unit)
                    throws InterruptedException,
                           ExecutionException,
                           TimeoutException

Specified by:
  `invokeAny` in interface `ExecutorService`
Throws:
  `InterruptedException`
  `ExecutionException`
  `TimeoutException`

#### execute

    public void execute​(Runnable command)

Specified by:
  `execute` in interface `Executor`

#### schedule

    public ScheduledFuture<?> schedule​(Runnable command,
                                       long delay,
                                       TimeUnit unit)

Specified by:
  `schedule` in interface `ScheduledExecutorService`

#### schedule

    public <V> ScheduledFuture<V> schedule​(Callable<V> callable,
                                           long delay,
                                           TimeUnit unit)

Specified by:
  `schedule` in interface `ScheduledExecutorService`

#### scheduleAtFixedRate

    public ScheduledFuture<?> scheduleAtFixedRate​(Runnable command,
                                                  long initialDelay,
                                                  long period,
                                                  TimeUnit unit)

Specified by:
  `scheduleAtFixedRate` in interface `ScheduledExecutorService`

#### scheduleWithFixedDelay

    public ScheduledFuture<?> scheduleWithFixedDelay​(Runnable command,
                                                     long initialDelay,
                                                     long delay,
                                                     TimeUnit unit)

Specified by:
  `scheduleWithFixedDelay` in interface `ScheduledExecutorService`