public class

ScheduledTimerTask

extends Object
java.lang.Object
   ↳ org.springframework.scheduling.timer.ScheduledTimerTask

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

Class Overview

JavaBean that describes a scheduled TimerTask, consisting of the TimerTask itself or a Runnable to create a TimerTask for and a delay plus period. The period needs to be specified; there is no point in a default for it.

The JDK's Timer facility does not offer sophisticated scheduling options such as cron expressions. Consider using Quartz for such advanced needs.

Note that the Timer mechanism uses a TimerTask instance that is shared between repeated executions, in contrast to Quartz which creates a new Job instance for each execution.

Summary

Public Constructors
ScheduledTimerTask()
Create a new ScheduledTimerTask, to be populated via bean properties.
ScheduledTimerTask(TimerTask timerTask)
Create a new ScheduledTimerTask, with default one-time execution without delay.
ScheduledTimerTask(TimerTask timerTask, long delay)
Create a new ScheduledTimerTask, with default one-time execution with the given delay.
ScheduledTimerTask(TimerTask timerTask, long delay, long period, boolean fixedRate)
Create a new ScheduledTimerTask.
ScheduledTimerTask(Runnable timerTask)
Create a new ScheduledTimerTask, with default one-time execution without delay.
ScheduledTimerTask(Runnable timerTask, long delay)
Create a new ScheduledTimerTask, with default one-time execution with the given delay.
ScheduledTimerTask(Runnable timerTask, long delay, long period, boolean fixedRate)
Create a new ScheduledTimerTask.
Public Methods
long getDelay()
Return the delay before starting the job for the first time.
long getPeriod()
Return the period between repeated task executions.
TimerTask getTimerTask()
Return the TimerTask to schedule.
boolean isFixedRate()
Return whether to schedule as fixed-rate execution.
boolean isOneTimeTask()
Is this task only ever going to execute once?
void setDelay(long delay)
Set the delay before starting the task for the first time, in milliseconds.
void setFixedRate(boolean fixedRate)
Set whether to schedule as fixed-rate execution, rather than fixed-delay execution.
void setPeriod(long period)
Set the period between repeated task executions, in milliseconds.
void setRunnable(Runnable timerTask)
Set the Runnable to schedule as TimerTask.
void setTimerTask(TimerTask timerTask)
Set the TimerTask to schedule.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public ScheduledTimerTask ()

Create a new ScheduledTimerTask, to be populated via bean properties.

public ScheduledTimerTask (TimerTask timerTask)

Create a new ScheduledTimerTask, with default one-time execution without delay.

Parameters
timerTask the TimerTask to schedule

public ScheduledTimerTask (TimerTask timerTask, long delay)

Create a new ScheduledTimerTask, with default one-time execution with the given delay.

Parameters
timerTask the TimerTask to schedule
delay the delay before starting the task for the first time (ms)

public ScheduledTimerTask (TimerTask timerTask, long delay, long period, boolean fixedRate)

Create a new ScheduledTimerTask.

Parameters
timerTask the TimerTask to schedule
delay the delay before starting the task for the first time (ms)
period the period between repeated task executions (ms)
fixedRate whether to schedule as fixed-rate execution

public ScheduledTimerTask (Runnable timerTask)

Create a new ScheduledTimerTask, with default one-time execution without delay.

Parameters
timerTask the Runnable to schedule as TimerTask

public ScheduledTimerTask (Runnable timerTask, long delay)

Create a new ScheduledTimerTask, with default one-time execution with the given delay.

Parameters
timerTask the Runnable to schedule as TimerTask
delay the delay before starting the task for the first time (ms)

public ScheduledTimerTask (Runnable timerTask, long delay, long period, boolean fixedRate)

Create a new ScheduledTimerTask.

Parameters
timerTask the Runnable to schedule as TimerTask
delay the delay before starting the task for the first time (ms)
period the period between repeated task executions (ms)
fixedRate whether to schedule as fixed-rate execution

Public Methods

public long getDelay ()

Return the delay before starting the job for the first time.

public long getPeriod ()

Return the period between repeated task executions.

public TimerTask getTimerTask ()

Return the TimerTask to schedule.

public boolean isFixedRate ()

Return whether to schedule as fixed-rate execution.

public boolean isOneTimeTask ()

Is this task only ever going to execute once?

Returns
  • true if this task is only ever going to execute once
See Also

public void setDelay (long delay)

Set the delay before starting the task for the first time, in milliseconds. Default is 0, immediately starting the task after successful scheduling.

public void setFixedRate (boolean fixedRate)

Set whether to schedule as fixed-rate execution, rather than fixed-delay execution. Default is "false", that is, fixed delay.

See Timer javadoc for details on those execution modes.

public void setPeriod (long period)

Set the period between repeated task executions, in milliseconds.

Default is -1, leading to one-time execution. In case of a positive value, the task will be executed repeatedly, with the given interval inbetween executions.

Note that the semantics of the period value vary between fixed-rate and fixed-delay execution.

Note: A period of 0 (for example as fixed delay) is not supported, simply because java.util.Timer itself does not support it. Hence a value of 0 will be treated as one-time execution; however, that value should never be specified explicitly in the first place!

public void setRunnable (Runnable timerTask)

Set the Runnable to schedule as TimerTask.

public void setTimerTask (TimerTask timerTask)

Set the TimerTask to schedule.