org.springframework.scheduling.quartz
Class SimpleThreadPoolTaskExecutor

java.lang.Object
  extended by org.quartz.simpl.SimpleThreadPool
      extended by org.springframework.scheduling.quartz.SimpleThreadPoolTaskExecutor
All Implemented Interfaces:
ThreadPool, DisposableBean, InitializingBean, TaskExecutor, SchedulingTaskExecutor

public class SimpleThreadPoolTaskExecutor
extends SimpleThreadPool
implements SchedulingTaskExecutor, InitializingBean, DisposableBean

Subclass of Quartz's SimpleThreadPool that implements Spring's TaskExecutor interface and listens to Spring lifecycle callbacks.

Can be used as a thread-pooling TaskExecutor backend, in particular on JDK <= 1.5 (where the JDK ThreadPoolExecutor isn't available yet). Can be shared between a Quartz Scheduler (specified as "taskExecutor") and other TaskExecutor users, or even used completely independent of a Quartz Scheduler (as plain TaskExecutor backend).

Since:
2.0
Author:
Juergen Hoeller
See Also:
SimpleThreadPool, TaskExecutor, SchedulerFactoryBean.setTaskExecutor(org.springframework.core.task.TaskExecutor)

Constructor Summary
SimpleThreadPoolTaskExecutor()
           
 
Method Summary
 void afterPropertiesSet()
          Invoked by a BeanFactory after it has set all bean properties supplied (and satisfied BeanFactoryAware and ApplicationContextAware).
 void destroy()
          Invoked by a BeanFactory on destruction of a singleton.
 void execute(Runnable task)
          Execute the given task.
 boolean prefersShortLivedTasks()
          This task executor prefers short-lived work units.
 void setWaitForJobsToCompleteOnShutdown(boolean waitForJobsToCompleteOnShutdown)
          Set whether to wait for running jobs to complete on shutdown.
 
Methods inherited from class org.quartz.simpl.SimpleThreadPool
blockForAvailableThreads, createWorkerThreads, getLog, getPoolSize, getThreadCount, getThreadNamePrefix, getThreadPriority, initialize, isMakeThreadsDaemons, isThreadsInheritContextClassLoaderOfInitializingThread, isThreadsInheritGroupOfInitializingThread, makeAvailable, runInThread, setMakeThreadsDaemons, setThreadCount, setThreadNamePrefix, setThreadPriority, setThreadsInheritContextClassLoaderOfInitializingThread, setThreadsInheritGroupOfInitializingThread, shutdown, shutdown
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SimpleThreadPoolTaskExecutor

public SimpleThreadPoolTaskExecutor()
Method Detail

setWaitForJobsToCompleteOnShutdown

public void setWaitForJobsToCompleteOnShutdown(boolean waitForJobsToCompleteOnShutdown)
Set whether to wait for running jobs to complete on shutdown. Default is "false".

See Also:
SimpleThreadPool.shutdown(boolean)

afterPropertiesSet

public void afterPropertiesSet()
                        throws SchedulerConfigException
Description copied from interface: InitializingBean
Invoked by a BeanFactory after it has set all bean properties supplied (and satisfied BeanFactoryAware and ApplicationContextAware).

This method allows the bean instance to perform initialization only possible when all bean properties have been set and to throw an exception in the event of misconfiguration.

Specified by:
afterPropertiesSet in interface InitializingBean
Throws:
SchedulerConfigException

execute

public void execute(Runnable task)
Description copied from interface: TaskExecutor
Execute the given task.

The call might return immediately if the implementation uses an asynchronous execution strategy, or might block in the case of synchronous execution.

Specified by:
execute in interface TaskExecutor
Parameters:
task - the Runnable to execute (never null)

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

destroy

public void destroy()
Description copied from interface: DisposableBean
Invoked by a BeanFactory on destruction of a singleton.

Specified by:
destroy in interface DisposableBean


Copyright © 2002-2008 The Spring Framework.