org.springframework.core.task.support

## Class ExecutorServiceAdapter

- java.lang.Object
- - java.util.concurrent.AbstractExecutorService
  - - org.springframework.core.task.support.ExecutorServiceAdapter

All Implemented Interfaces:
  Executor, ExecutorService

    public class ExecutorServiceAdapter
    extends AbstractExecutorService

Adapter that takes a Spring `TaskExecutor`) and exposes a full `java.util.concurrent.ExecutorService` for it.

This is primarily for adapting to client components that communicate via the `java.util.concurrent.ExecutorService` API. It can also be used as common ground between a local Spring `TaskExecutor` backend and a JNDI-located `ManagedExecutorService` in a Java EE 6 environment.

NOTE: This ExecutorService adapter does not support the lifecycle methods in the `java.util.concurrent.ExecutorService` API ("shutdown()" etc), similar to a server-wide `ManagedExecutorService` in a Java EE 6 environment. The lifecycle is always up to the backend pool, with this adapter acting as an access-only proxy for that target pool.

Since:
  3.0
Author:
  Juergen Hoeller
See Also:
  `ExecutorService`

### Constructor Summary

Constructors
Constructor and Description
`ExecutorServiceAdapter(TaskExecutor taskExecutor)` Create a new ExecutorServiceAdapter, using the given target executor.

### Method Summary

Methods
`boolean` `awaitTermination(long timeout, TimeUnit unit)`
`void` `execute(Runnable task)`
`boolean` `isShutdown()`
`boolean` `isTerminated()`
`void` `shutdown()`
`List<Runnable>` `shutdownNow()`

### 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, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ExecutorServiceAdapter

    public ExecutorServiceAdapter(TaskExecutor taskExecutor)

Create a new ExecutorServiceAdapter, using the given target executor.

Parameters:
  `taskExecutor` - the target executor to delegate to

### Method Detail

#### execute

    public void execute(Runnable task)

#### shutdown

    public void shutdown()

#### shutdownNow

    public List<Runnable> shutdownNow()

#### awaitTermination

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

Throws:
  `InterruptedException`

#### isShutdown

    public boolean isShutdown()

#### isTerminated

    public boolean isTerminated()