The Spring Framework

org.springframework.scheduling.concurrent
Class ConcurrentTaskExecutor

java.lang.Object
  extended by org.springframework.scheduling.concurrent.ConcurrentTaskExecutor
All Implemented Interfaces:
Executor, TaskExecutor, SchedulingTaskExecutor

public class ConcurrentTaskExecutor
extends Object
implements SchedulingTaskExecutor, Executor

Adapter that takes a JDK 1.5 java.util.concurrent.Executor and exposes a Spring TaskExecutor for it.

Note that there is a pre-built ThreadPoolTaskExecutor that allows for defining a JDK 1.5 ThreadPoolExecutor in bean style, exposing it as both Spring TaskExecutor and JDK 1.5 Executor. This is a convenient alternative to a direct ThreadPoolExecutor definition with separate ConcurrentTaskExecutor adapter definition.

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

Constructor Summary
ConcurrentTaskExecutor()
          Create a new ConcurrentTaskExecutor, using a single thread executor as default.
ConcurrentTaskExecutor(Executor concurrentExecutor)
          Create a new ConcurrentTaskExecutor, using the given JDK 1.5 concurrent executor as default.
 
Method Summary
 void execute(Runnable task)
          Delegates to the specified JDK 1.5 concurrent executor.
 boolean prefersShortLivedTasks()
          This task executor prefers short-lived work units.
 void setConcurrentExecutor(Executor concurrentExecutor)
          Specify the JDK 1.5 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(Executor concurrentExecutor)
Create a new ConcurrentTaskExecutor, using the given JDK 1.5 concurrent executor as default.

Parameters:
concurrentExecutor - the JDK 1.5 concurrent executor to delegate to
Method Detail

setConcurrentExecutor

public void setConcurrentExecutor(Executor concurrentExecutor)
Specify the JDK 1.5 concurrent executor to delegate to.


execute

public void execute(Runnable task)
Delegates to the specified JDK 1.5 concurrent executor.

Specified by:
execute in interface Executor
Specified by:
execute in interface TaskExecutor
Parameters:
task - the Runnable to execute
See Also:
Executor.execute(Runnable)

prefersShortLivedTasks

public boolean prefersShortLivedTasks()
This task executor prefers short-lived work units.

Specified by:
prefersShortLivedTasks in interface SchedulingTaskExecutor

The Spring Framework

Copyright © 2002-2006 The Spring Framework.