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 Jakarta EE 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 Jakarta EE 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:
  • Constructor Details

    • ExecutorServiceAdapter

      public ExecutorServiceAdapter(TaskExecutor taskExecutor)
      Create a new ExecutorServiceAdapter, using the given target executor.
      Parameters:
      taskExecutor - the target executor to delegate to
  • Method Details

    • 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()
    • close

      public void close()