Annotation 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/>
XML element or @EnableScheduling annotation.
This annotation can be used as a repeatable annotation.
This annotation may be used as a meta-annotation to create custom composed annotations with attribute overrides.
- Since:
- 3.0
- Author:
- Mark Fisher, Juergen Hoeller, Dave Syer, Chris Beams, Victor Brown, Sam Brannen
- See Also:
-
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionA 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.longExecute the annotated method with a fixed period between the end of the last invocation and the start of the next.Execute the annotated method with a fixed period between the end of the last invocation and the start of the next.longExecute the annotated method with a fixed period between invocations.Execute the annotated method with a fixed period between invocations.longNumber of units of time to delay before the first execution of afixedRate()orfixedDelay()task.Number of units of time to delay before the first execution of afixedRate()orfixedDelay()task.TheTimeUnitto use forfixedDelay(),fixedDelayString(),fixedRate(),fixedRateString(),initialDelay(), andinitialDelayString().A time zone for which the cron expression will be resolved. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringA special cron expression value that indicates a disabled trigger: "-".
-
Field Details
-
CRON_DISABLED
A special cron expression value that indicates a disabled trigger: "-".This is primarily meant for use with
${...}placeholders, allowing for external disabling of corresponding scheduled methods.- Since:
- 5.1
- See Also:
-
-
Element Details
-
cron
String cronA 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.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.
- second
- minute
- hour
- day of month
- month
- day of week
The special value
"-"indicates a disabled cron trigger, primarily meant for externally specified values resolved by a${...}placeholder.- Returns:
- an expression that can be parsed to a cron schedule
- See Also:
- Default:
- ""
-
zone
String zoneA time zone for which the cron expression will be resolved. By default, this attribute is the empty String (i.e. the server's local time zone will be used).- Returns:
- a zone id accepted by
TimeZone.getTimeZone(String), or an empty String to indicate the server's default time zone - Since:
- 4.0
- See Also:
- Default:
- ""
-
fixedDelay
long fixedDelayExecute the annotated method with a fixed period between the end of the last invocation and the start of the next.The time unit is milliseconds by default but can be overridden via
timeUnit().- Returns:
- the delay
- Default:
- -1L
-
fixedDelayString
String fixedDelayStringExecute the annotated method with a fixed period between the end of the last invocation and the start of the next.The time unit is milliseconds by default but can be overridden via
timeUnit().- Returns:
- the delay as a String value — for example, a placeholder
or a
java.time.Durationcompliant value - Since:
- 3.2.2
- Default:
- ""
-
fixedRate
long fixedRateExecute the annotated method with a fixed period between invocations.The time unit is milliseconds by default but can be overridden via
timeUnit().- Returns:
- the period
- Default:
- -1L
-
fixedRateString
String fixedRateStringExecute the annotated method with a fixed period between invocations.The time unit is milliseconds by default but can be overridden via
timeUnit().- Returns:
- the period as a String value — for example, a placeholder
or a
java.time.Durationcompliant value - Since:
- 3.2.2
- Default:
- ""
-
initialDelay
long initialDelayNumber of units of time to delay before the first execution of afixedRate()orfixedDelay()task.The time unit is milliseconds by default but can be overridden via
timeUnit().- Returns:
- the initial
- Since:
- 3.2
- Default:
- -1L
-
initialDelayString
String initialDelayStringNumber of units of time to delay before the first execution of afixedRate()orfixedDelay()task.The time unit is milliseconds by default but can be overridden via
timeUnit().- Returns:
- the initial delay as a String value — for example, a placeholder
or a
java.time.Durationcompliant value - Since:
- 3.2.2
- Default:
- ""
-
timeUnit
TimeUnit timeUnitTheTimeUnitto use forfixedDelay(),fixedDelayString(),fixedRate(),fixedRateString(),initialDelay(), andinitialDelayString().Defaults to
TimeUnit.MILLISECONDS.This attribute is ignored for cron expressions and for
Durationvalues supplied viafixedDelayString(),fixedRateString(), orinitialDelayString().- Returns:
- the
TimeUnitto use - Since:
- 5.3.10
- Default:
- MILLISECONDS
-