ConcurrentTaskExecutor (Spring Framework 3.2.1.RELEASE API)
Date: 2013-01-24

org.springframework.scheduling.backportconcurrent

## Class ConcurrentTaskExecutor

- java.lang.Object
- - org.springframework.scheduling.backportconcurrent.ConcurrentTaskExecutor

- All Implemented Interfaces:
    edu.emory.mathcs.backport.java.util.concurrent.Executor, AsyncTaskExecutor, TaskExecutor, SchedulingTaskExecutor

  Deprecated.
  as of Spring 3.2, in favor of using the native JDK 6 concurrent support

      @Deprecated
      public class ConcurrentTaskExecutor
      extends Object
      implements SchedulingTaskExecutor, edu.emory.mathcs.backport.java.util.concurrent.Executor

  Adapter that takes a JSR-166 backport `edu.emory.mathcs.backport.java.util.concurrent.Executor` and exposes a Spring `TaskExecutor` for it.

  NOTE: This class implements Spring's `TaskExecutor` interface (and hence implicitly the standard Java 5 `Executor` interface) as well as the JSR-166 `Executor` interface, with the former being the primary interface, the other just serving as secondary convenience. For this reason, the exception handling follows the TaskExecutor contract rather than the backport Executor contract, in particular regarding the `TaskRejectedException`.

  Note that there is a pre-built `ThreadPoolTaskExecutor` that allows for defining a JSR-166 backport `ThreadPoolExecutor` in bean style, exposing it as a Spring `TaskExecutor` directly. This is a convenient alternative to a raw ThreadPoolExecutor definition with a separate definition of the present adapter class.

  Since:
    2.0.3
  Author:
    Juergen Hoeller
  See Also:
    `Executor`, `ThreadPoolExecutor`, `Executors`, `ThreadPoolTaskExecutor`

- - ### Field Summary

    - ### Fields inherited from interface org.springframework.core.task.AsyncTaskExecutor

      `TIMEOUT_IMMEDIATE, TIMEOUT_INDEFINITE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ConcurrentTaskExecutor()` Deprecated. Create a new ConcurrentTaskExecutor, using a single thread executor as default.
    `ConcurrentTaskExecutor(edu.emory.mathcs.backport.java.util.concurrent.Executor concurrentExecutor)` Deprecated. Create a new ConcurrentTaskExecutor, using the given JSR-166 backport concurrent executor.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `execute(Runnable task)` Deprecated. Delegates to the specified JSR-166 backport concurrent executor.
    `void` | `execute(Runnable task, long startTimeout)` Deprecated. Execute the given `task`.
    `edu.emory.mathcs.backport.java.util.concurrent.Executor` | `getConcurrentExecutor()` Deprecated. Return the JSR-166 backport concurrent executor that this adapter delegates to.
    `boolean` | `prefersShortLivedTasks()` Deprecated. This task executor prefers short-lived work units.
    `void` | `setConcurrentExecutor(edu.emory.mathcs.backport.java.util.concurrent.Executor concurrentExecutor)` Deprecated. Specify the JSR-166 backport concurrent executor to delegate to.
    `<T> Future<T>` | `submit(Callable<T> task)` Deprecated. Submit a Callable task for execution, receiving a Future representing that task.
    `Future<?>` | `submit(Runnable task)` Deprecated. Submit a Runnable task for execution, receiving a Future representing that task.

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

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

- - ### Constructor Detail

    - #### ConcurrentTaskExecutor

          public ConcurrentTaskExecutor()

      Deprecated.
      Create a new ConcurrentTaskExecutor, using a single thread executor as default.
      See Also:
        `Executors.newSingleThreadExecutor()`

    - #### ConcurrentTaskExecutor

          public ConcurrentTaskExecutor(edu.emory.mathcs.backport.java.util.concurrent.Executor concurrentExecutor)

      Deprecated.
      Create a new ConcurrentTaskExecutor, using the given JSR-166 backport concurrent executor.
      Parameters:
        `concurrentExecutor` - the JSR-166 backport concurrent executor to delegate to

  - ### Method Detail

    - #### setConcurrentExecutor

          public final void setConcurrentExecutor(edu.emory.mathcs.backport.java.util.concurrent.Executor concurrentExecutor)

      Deprecated.
      Specify the JSR-166 backport concurrent executor to delegate to.

    - #### getConcurrentExecutor

          public final edu.emory.mathcs.backport.java.util.concurrent.Executor getConcurrentExecutor()

      Deprecated.
      Return the JSR-166 backport concurrent executor that this adapter delegates to.

    - #### execute

          public void execute(Runnable task)

      Deprecated.
      Delegates to the specified JSR-166 backport concurrent executor.
      Specified by:
        `execute` in interface `edu.emory.mathcs.backport.java.util.concurrent.Executor`
      Specified by:
        `execute` in interface `TaskExecutor`
      Parameters:
        `task` - the `Runnable` to execute (never `null`)
      See Also:
        `Executor.execute(Runnable)`

    - #### execute

          public void execute(Runnable task,
                     long startTimeout)

      Deprecated.
      Description copied from interface: `AsyncTaskExecutor`
      Execute the given `task`.
      Specified by:
        `execute` in interface `AsyncTaskExecutor`
      Parameters:
        `task` - the `Runnable` to execute (never `null`)
        `startTimeout` - the time duration (milliseconds) within which the task is supposed to start. This is intended as a hint to the executor, allowing for preferred handling of immediate tasks. Typical values are `AsyncTaskExecutor.TIMEOUT_IMMEDIATE` or `AsyncTaskExecutor.TIMEOUT_INDEFINITE` (the default as used by `TaskExecutor.execute(Runnable)`).

    - #### submit

          public Future<?> submit(Runnable task)

      Deprecated.
      Description copied from interface: `AsyncTaskExecutor`
      Submit a Runnable task for execution, receiving a Future representing that task. The Future will return a `null` result upon completion.
      Specified by:
        `submit` in interface `AsyncTaskExecutor`
      Parameters:
        `task` - the `Runnable` to execute (never `null`)
      Returns:
        a Future representing pending completion of the task

    - #### submit

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

      Deprecated.
      Description copied from interface: `AsyncTaskExecutor`
      Submit a Callable task for execution, receiving a Future representing that task. The Future will return the Callable's result upon completion.
      Specified by:
        `submit` in interface `AsyncTaskExecutor`
      Parameters:
        `task` - the `Callable` to execute (never `null`)
      Returns:
        a Future representing pending completion of the task

    - #### prefersShortLivedTasks

          public boolean prefersShortLivedTasks()

      Deprecated.
      This task executor prefers short-lived work units.
      Specified by:
        `prefersShortLivedTasks` in interface `SchedulingTaskExecutor`
      Returns:
        `true` if this `TaskExecutor` prefers short-lived tasks