## 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
`ExecutorServiceAdapter(TaskExecutor taskExecutor)` Create a new ExecutorServiceAdapter, using the given target executor.

Method Summary
`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:
    `concurrentExecutor` - 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()