|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.scheduling.backportconcurrent.ScheduledExecutorTask
public class ScheduledExecutorTask
JavaBean that describes a scheduled executor task, consisting of the
Runnable
and a delay plus period. The period needs to be specified;
there is no point in a default for it.
The JSR-166 backport
ScheduledExecutorService
does not offer more sophisticated scheduling options such as cron expressions.
Consider using Quartz for such advanced needs.
Note that the
ScheduledExecutorService
mechanism uses a Runnable
instance that is shared between repeated executions,
in contrast to Quartz which creates a new Job instance for each execution.
This class is analogous to the ScheduledTimerTask
class for the JDK Timer
facility.
ScheduledExecutorService.scheduleWithFixedDelay(java.lang.Runnable, long, long, edu.emory.mathcs.backport.java.util.concurrent.TimeUnit)
,
ScheduledExecutorService.scheduleAtFixedRate(java.lang.Runnable, long, long, edu.emory.mathcs.backport.java.util.concurrent.TimeUnit)
,
ScheduledTimerTask
Constructor Summary | |
---|---|
ScheduledExecutorTask()
Create a new ScheduledExecutorTask, to be populated via bean properties. |
|
ScheduledExecutorTask(Runnable executorTask)
Create a new ScheduledExecutorTask, with default one-time execution without delay. |
|
ScheduledExecutorTask(Runnable executorTask,
long delay)
Create a new ScheduledExecutorTask, with default one-time execution with the given delay. |
|
ScheduledExecutorTask(Runnable executorTask,
long delay,
long period,
boolean fixedRate)
Create a new ScheduledExecutorTask. |
Method Summary | |
---|---|
long |
getDelay()
Return the delay before starting the job for the first time. |
long |
getPeriod()
Return the period between repeated task executions. |
Runnable |
getRunnable()
Return the Runnable to schedule as executor task. |
edu.emory.mathcs.backport.java.util.concurrent.TimeUnit |
getTimeUnit()
Return the time unit for the delay and period values. |
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 executorTask)
Set the Runnable to schedule as executor task. |
void |
setTimeUnit(edu.emory.mathcs.backport.java.util.concurrent.TimeUnit timeUnit)
Specify the time unit for the delay and period values. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ScheduledExecutorTask()
setDelay(long)
,
setPeriod(long)
,
setFixedRate(boolean)
public ScheduledExecutorTask(Runnable executorTask)
executorTask
- the Runnable to schedulepublic ScheduledExecutorTask(Runnable executorTask, long delay)
executorTask
- the Runnable to scheduledelay
- the delay before starting the task for the first time (ms)public ScheduledExecutorTask(Runnable executorTask, long delay, long period, boolean fixedRate)
executorTask
- the Runnable to scheduledelay
- 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 executionMethod Detail |
---|
public void setRunnable(Runnable executorTask)
public Runnable getRunnable()
public void setDelay(long delay)
public long getDelay()
public void setPeriod(long period)
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 edu.emory.mathcs.backport.java.util.concurrent.ScheduledExecutorService
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!
setFixedRate(boolean)
,
isOneTimeTask()
,
ScheduledExecutorService.scheduleWithFixedDelay(java.lang.Runnable, long, long, edu.emory.mathcs.backport.java.util.concurrent.TimeUnit)
public long getPeriod()
public boolean isOneTimeTask()
true
if this task is only ever going to execute oncegetPeriod()
public void setTimeUnit(edu.emory.mathcs.backport.java.util.concurrent.TimeUnit timeUnit)
TimeUnit.MILLISECONDS
).
TimeUnit.MILLISECONDS
,
TimeUnit.SECONDS
public edu.emory.mathcs.backport.java.util.concurrent.TimeUnit getTimeUnit()
public void setFixedRate(boolean fixedRate)
See ScheduledExecutorService javadoc for details on those execution modes.
ScheduledExecutorService.scheduleWithFixedDelay(java.lang.Runnable, long, long, edu.emory.mathcs.backport.java.util.concurrent.TimeUnit)
,
ScheduledExecutorService.scheduleAtFixedRate(java.lang.Runnable, long, long, edu.emory.mathcs.backport.java.util.concurrent.TimeUnit)
public boolean isFixedRate()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |