@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 | Fields and Description |
---|---|
static String |
CRON_DISABLED
A special cron expression value that indicates a disabled trigger: "-".
|
Modifier and Type | Optional Element and Description |
---|---|
String |
cron
A cron-like expression, extending the usual UN*X definition to include triggers
on the second, 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.
|
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.
|
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. |
String |
initialDelayString
Number of milliseconds to delay before the first execution of a
fixedRate() or fixedDelay() task. |
String |
zone
A time zone for which the cron expression will be resolved.
|
public static final String CRON_DISABLED
This is primarily meant for use with ${...}
placeholders,
allowing for external disabling of corresponding scheduled methods.
ScheduledTaskRegistrar.CRON_DISABLED
public abstract String cron
For example, "0 * * * * MON-FRI"
means once per minute on weekdays
(at the top of the minute - the 0th second).
The fields read from left to right are interpreted as follows.
The special value "-"
indicates a disabled cron
trigger, primarily meant for externally specified values resolved by a
${...}
placeholder.
CronExpression.parse(String)
public abstract String zone
TimeZone.getTimeZone(String)
,
or an empty String to indicate the server's default time zoneCronTrigger(String, java.util.TimeZone)
,
TimeZone
public abstract long fixedDelay
public abstract String fixedDelayString
java.time.Duration
compliant valuepublic abstract long fixedRate
public abstract String fixedRateString
java.time.Duration
compliant valuepublic abstract long initialDelay
fixedRate()
or fixedDelay()
task.public abstract String initialDelayString
fixedRate()
or fixedDelay()
task.java.time.Duration
compliant value