@Target(value={METHOD,ANNOTATION_TYPE}) @Retention(value=RUNTIME) @Documented @Repeatable(value=Schedules.class) public @interface Scheduled
cron()
, fixedDelay()
, or fixedRate()
attributes must be specified.
The annotated method must expect no arguments. It will typically have
a void
return type; if not, the returned value will be ignored
when called through the scheduler.
Processing of @Scheduled
annotations is performed by
registering a ScheduledAnnotationBeanPostProcessor
. This can be
done manually or, more conveniently, through the <task:annotation-driven/>
element or @EnableScheduling
annotation.
This annotation may be used as a meta-annotation to create custom composed annotations with attribute overrides.
EnableScheduling
,
ScheduledAnnotationBeanPostProcessor
,
Schedules
Modifier and Type | Optional Element and Description |
---|---|
java.lang.String |
cron
A cron-like expression, extending the usual UN*X definition to include
triggers on the second as well as minute, hour, day of month, month
and day of week.
|
long |
fixedDelay
Execute the annotated method with a fixed period in milliseconds between the
end of the last invocation and the start of the next.
|
java.lang.String |
fixedDelayString
Execute the annotated method with a fixed period in milliseconds between the
end of the last invocation and the start of the next.
|
long |
fixedRate
Execute the annotated method with a fixed period in milliseconds between
invocations.
|
java.lang.String |
fixedRateString
Execute the annotated method with a fixed period in milliseconds between
invocations.
|
long |
initialDelay
Number of milliseconds to delay before the first execution of a
fixedRate() or fixedDelay() task. |
java.lang.String |
initialDelayString
Number of milliseconds to delay before the first execution of a
fixedRate() or fixedDelay() task. |
java.lang.String |
zone
A time zone for which the cron expression will be resolved.
|
public abstract java.lang.String cron
"0 * * * * MON-FRI"
means once per minute on
weekdays (at the top of the minute - the 0th second).CronSequenceGenerator
public abstract java.lang.String zone
TimeZone.getTimeZone(String)
,
or an empty String to indicate the server's default time zoneCronTrigger.CronTrigger(String, java.util.TimeZone)
,
TimeZone
public abstract long fixedDelay
public abstract java.lang.String fixedDelayString
java.time.Duration
compliant valuepublic abstract long fixedRate
public abstract java.lang.String fixedRateString
java.time.Duration
compliant valuepublic abstract long initialDelay
fixedRate()
or fixedDelay()
task.public abstract java.lang.String initialDelayString
fixedRate()
or fixedDelay()
task.java.time.Duration
compliant value