The Spring Framework

## 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, TaskExecutor, SchedulingTaskExecutor

    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 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 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`

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

Method Summary
`void` `execute(Runnable task)` Delegates to the specified JSR-166 backport concurrent executor.
`edu.emory.mathcs.backport.java.util.concurrent.Executor` `getConcurrentExecutor()` Return the JSR-166 backport concurrent executor that this adapter delegates to.
`boolean` `prefersShortLivedTasks()` This task executor prefers short-lived work units.
`void` `setConcurrentExecutor(edu.emory.mathcs.backport.java.util.concurrent.Executor concurrentExecutor)` Specify the JSR-166 backport concurrent executor to delegate to.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ConcurrentTaskExecutor

    public ConcurrentTaskExecutor()

  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)

  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 void setConcurrentExecutor(edu.emory.mathcs.backport.java.util.concurrent.Executor concurrentExecutor)

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

### getConcurrentExecutor

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

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

### execute

    public void execute(Runnable task)

  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)`

### prefersShortLivedTasks

    public boolean prefersShortLivedTasks()

  This task executor prefers short-lived work units.

  Specified by:
    `prefersShortLivedTasks` in interface `SchedulingTaskExecutor`
  Returns:
    `true` if this `TaskExecutor` prefers short-lived tasks

The Spring Framework

Copyright © 2002-2008 The Spring Framework.