org.springframework.core.task.support
Class ExecutorServiceAdapter

java.lang.Object
  extended by java.util.concurrent.AbstractExecutorService
      extended by 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()