public class

ScheduledTimerListener

extends Object
java.lang.Object
   ↳ org.springframework.scheduling.commonj.ScheduledTimerListener

Class Overview

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

The CommonJ TimerManager does not offer more sophisticated scheduling options such as cron expressions. Consider using Quartz for such advanced needs.

Note that the TimerManager uses a TimerListener instance that is shared between repeated executions, in contrast to Quartz which instantiates a new Job for each execution.

See Also
  • commonj.timers.TimerListener
  • commonj.timers.TimerManager#schedule(commonj.timers.TimerListener, long, long)
  • commonj.timers.TimerManager#scheduleAtFixedRate(commonj.timers.TimerListener, long, long)

Summary

Public Constructors
ScheduledTimerListener()
Create a new ScheduledTimerListener, to be populated via bean properties.
ScheduledTimerListener(TimerListener timerListener)
Create a new ScheduledTimerListener, with default one-time execution without delay.
ScheduledTimerListener(TimerListener timerListener, long delay)
Create a new ScheduledTimerListener, with default one-time execution with the given delay.
ScheduledTimerListener(TimerListener timerListener, long delay, long period, boolean fixedRate)
Create a new ScheduledTimerListener.
Public Methods
long getDelay()
Return the delay before starting the job for the first time.
long getPeriod()
Return the period between repeated task executions.
TimerListener getTimerListener()
Return the TimerListener 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 TimerListener.
void setTimerListener(TimerListener timerListener)
Set the TimerListener to schedule.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public ScheduledTimerListener ()

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

public ScheduledTimerListener (TimerListener timerListener)

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

Parameters
timerListener the TimerListener to schedule

public ScheduledTimerListener (TimerListener timerListener, long delay)

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

Parameters
timerListener the TimerListener to schedule
delay the delay before starting the task for the first time (ms)

public ScheduledTimerListener (TimerListener timerListener, long delay, long period, boolean fixedRate)

Create a new ScheduledTimerListener.

Parameters
timerListener the TimerListener 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 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 TimerListener getTimerListener ()

Return the TimerListener 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.

If the "firstTime" property is specified, this property will be ignored. Specify one or the other, not both.

public void setFixedRate (boolean fixedRate)

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

See TimerManager javadoc for details on those execution modes.

See Also
  • commonj.timers.TimerManager#schedule(commonj.timers.TimerListener, long, long)
  • commonj.timers.TimerManager#scheduleAtFixedRate(commonj.timers.TimerListener, long, long)

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 zero or 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 supported, because the CommonJ specification defines this as a legal value. Hence a value of 0 will result in immediate re-execution after a job has finished (not in one-time execution like with java.util.Timer).

See Also

public void setRunnable (Runnable timerTask)

Set the Runnable to schedule as TimerListener.

public void setTimerListener (TimerListener timerListener)

Set the TimerListener to schedule.