org.springframework.scheduling.timer

## Class TimerTaskExecutor

- java.lang.Object
- - org.springframework.scheduling.timer.TimerTaskExecutor

All Implemented Interfaces:
  Executor, Aware, BeanNameAware, DisposableBean, InitializingBean, AsyncTaskExecutor, TaskExecutor, SchedulingTaskExecutor

Deprecated.
as of Spring 3.0, in favor of the `scheduling.concurrent` package which is based on Java 5's `java.util.concurrent.ExecutorService`

    @Deprecated
    public class TimerTaskExecutor
    extends Object
    implements SchedulingTaskExecutor, BeanNameAware, InitializingBean, DisposableBean

`TaskExecutor` implementation that uses a single `Timer` for executing all tasks, effectively resulting in serialized asynchronous execution on a single thread.

Since:
  2.0
Author:
  Juergen Hoeller
See Also:
  `Timer`

### Field Summary

Fields
`protected Log` `logger` Deprecated.

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

`TIMEOUT_IMMEDIATE, TIMEOUT_INDEFINITE`

### Constructor Summary

Constructors
Constructor and Description
`TimerTaskExecutor()` Deprecated. Create a new TimerTaskExecutor that needs to be further configured and initialized.
`TimerTaskExecutor(Timer timer)` Deprecated. Create a new TimerTaskExecutor for the given `Timer`.

### Method Summary

Methods
`void` `afterPropertiesSet()` Deprecated. Invoked by a BeanFactory after it has set all bean properties supplied (and satisfied BeanFactoryAware and ApplicationContextAware).
`protected Timer` `createTimer()` Deprecated. Create a new `Timer` instance.
`void` `destroy()` Deprecated. Cancel the `Timer` on bean factory shutdown, stopping all scheduled tasks.
`void` `execute(Runnable task)` Deprecated. Schedules the given `Runnable` on this executor's `Timer` instance, wrapping it in a `DelegatingTimerTask`.
`void` `execute(Runnable task, long startTimeout)` Deprecated. Execute the given `task`.
`protected Timer` `getTimer()` Deprecated. Return the underlying Timer behind this TimerTaskExecutor.
`boolean` `prefersShortLivedTasks()` Deprecated. This task executor prefers short-lived work units.
`void` `setBeanName(String beanName)` Deprecated. Set the name of the bean in the bean factory that created this bean.
`void` `setDelay(long delay)` Deprecated. Set the delay to use for scheduling tasks passed into the plain `execute(Runnable)` method.
`void` `setTimer(Timer timer)` Deprecated. Set the `Timer` to use for this `TimerTaskExecutor`, for example a shared `Timer` instance defined by a `TimerFactoryBean`.
`<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`

### Field Detail

#### logger

    protected final Log logger

Deprecated.

### Constructor Detail

#### TimerTaskExecutor

    public TimerTaskExecutor()

Deprecated.
Create a new TimerTaskExecutor that needs to be further configured and initialized.

See Also:
  `setTimer(java.util.Timer)`, `afterPropertiesSet()`

#### TimerTaskExecutor

    public TimerTaskExecutor(Timer timer)

Deprecated.
Create a new TimerTaskExecutor for the given `Timer`.

Parameters:
  `timer` - the `Timer` to wrap

### Method Detail

#### setTimer

    public void setTimer(Timer timer)

Deprecated.
Set the `Timer` to use for this `TimerTaskExecutor`, for example a shared `Timer` instance defined by a `TimerFactoryBean`.

If not specified, a default internal `Timer` instance will be used.

Parameters:
  `timer` - the `Timer` to use for this `TimerTaskExecutor`
See Also:
  `TimerFactoryBean`

#### setDelay

    public void setDelay(long delay)

Deprecated.
Set the delay to use for scheduling tasks passed into the plain `execute(Runnable)` method. Default is 0.

Note that calls to `execute(Runnable, long)` will use the given timeout as delay if it is lower than the general delay.

Parameters:
  `delay` - the delay in milliseconds before the task is to be executed

#### setBeanName

    public void setBeanName(String beanName)

Deprecated.
Description copied from interface: `BeanNameAware`
Set the name of the bean in the bean factory that created this bean.

Invoked after population of normal bean properties but before an init callback such as `InitializingBean.afterPropertiesSet()` or a custom init-method.

Specified by:
  `setBeanName` in interface `BeanNameAware`
Parameters:
  `beanName` - the name of the bean in the factory. Note that this name is the actual bean name used in the factory, which may differ from the originally specified name: in particular for inner bean names, the actual bean name might have been made unique through appending "#..." suffixes. Use the `BeanFactoryUtils.originalBeanName(String)` method to extract the original bean name (without suffix), if desired.

#### afterPropertiesSet

    public void afterPropertiesSet()

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

#### createTimer

    protected Timer createTimer()

Deprecated.
Create a new `Timer` instance. Called by `afterPropertiesSet` if no `Timer` has been specified explicitly.

The default implementation creates a plain non-daemon `Timer`. If overridden, subclasses must take care to ensure that a non-null `Timer` is returned from the execution of this method.

See Also:
  `afterPropertiesSet()`, `Timer.Timer(String, boolean)`

#### getTimer

    protected final Timer getTimer()

Deprecated.
Return the underlying Timer behind this TimerTaskExecutor.

#### execute

    public void execute(Runnable task)

Deprecated.
Schedules the given `Runnable` on this executor's `Timer` instance, wrapping it in a `DelegatingTimerTask`.

Specified by:
  `execute` in interface `Executor`
Specified by:
  `execute` in interface `TaskExecutor`
Parameters:
  `task` - the task to be executed

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

#### destroy

    public void destroy()

Deprecated.
Cancel the `Timer` on bean factory shutdown, stopping all scheduled tasks.

Specified by:
  `destroy` in interface `DisposableBean`
See Also:
  `Timer.cancel()`