-
@Documented @Retention(RUNTIME) @Target(ANNOTATION_TYPE) public @interface Schedule
Defines schedules for
scheduled asynchronous methods
.For the scheduled asychronous method to aim to run at a given day and time, all of the criteria specified by the
Schedule
must match or be disregarded according to the rules of each field.- Since:
- 3.1
-
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description java.lang.String
cron
Cron expression following the rules ofCronTrigger
.int[]
daysOfMonth
Days of the month on which the asynchronous method aims to run.java.time.DayOfWeek[]
daysOfWeek
Days of the week on which the asynchronous method aims to run.int[]
hours
Hours of the day at which the asynchronous method aims to run.int[]
minutes
Minutes at which the asynchronous method aims to run.java.time.Month[]
months
Months in which the asynchronous method aims to run.int[]
seconds
Seconds at which the asynchronous method aims to run.long
skipIfLateBy
Seconds after which an execution that is late to start should be skipped rather than starting it late.java.lang.String
zone
Time zone id, such asAmerica/Chicago
orAmerica/Los_Angeles
, which identifies the time zone of the schedule.
-
-
-
Element Detail
-
cron
java.lang.String cron
Cron expression following the rules of
CronTrigger
.When a non-empty value is specified, it overrides all values that are specified for
months()
,daysOfMonth()
,daysOfWeek()
,hours()
,minutes()
, andseconds()
.The default value is the empty string, indicating that no cron expression is to be used.
- Returns:
- cron expression indicating when to run the asynchronous method.
- Default:
- ""
-
-
-
months
java.time.Month[] months
Months in which the asynchronous method aims to run.
The default value is an empty list, which means that the month is not included in the criteria for deciding when to run the asynchronous method.
- Returns:
- list of months in which the asynchronous method aims to run; An empty list disregards the month.
- Default:
- {}
-
-
-
daysOfMonth
int[] daysOfMonth
Days of the month on which the asynchronous method aims to run. Values can range from 1 to 31.
The default value is an empty list, which means that the day of the month is not included in the criteria for deciding when to run the asynchronous method.
- Returns:
- list of days of the month on which the asynchronous method aims to run; An empty list disregards the day of the month.
- Default:
- {}
-
-
-
daysOfWeek
java.time.DayOfWeek[] daysOfWeek
Days of the week on which the asynchronous method aims to run.
The default value is an empty list, which means that the day of the week is not included in the criteria for deciding when to run the asynchronous method.
- Returns:
- list of days of the week on which the asynchronous method aims to run; An empty list disregards the day of the week.
- Default:
- {}
-
-
-
hours
int[] hours
Hours of the day at which the asynchronous method aims to run.
Values can range from 0 to 23. A value of empty list indicates that the hour is not included in the criteria for deciding when to run the asynchronous method.
The default value is 0 (midnight).
- Returns:
- list of hours at which the asynchronous method aims to run; An empty list disregards the hour.
- Default:
- {0}
-
-
-
minutes
int[] minutes
Minutes at which the asynchronous method aims to run.
Values can range from 0 to 59. A value of empty list indicates that the minute is not included in the criteria for deciding when to run the asynchronous method.
The default value is 0 (at the start of the hour).
- Returns:
- list of minutes at which the asynchronous method aims to run; An empty list disregards the minutes.
- Default:
- {0}
-
-
-
seconds
int[] seconds
Seconds at which the asynchronous method aims to run.
Values can range from 0 to 59. A value of empty list causes the asynchronous method to raise
IllegalArgumentException
.The default value is 0 (at the start of the minute).
- Returns:
- list of seconds at which the asynchronous method aims to run.
- Default:
- {0}
-
-
-
skipIfLateBy
long skipIfLateBy
Seconds after which an execution that is late to start should be skipped rather than starting it late.
Values must be greater than 0. The default value is 600 seconds (10 minutes). This differs from executions that are missed due to overlap, which are always skipped.
- Returns:
- the threshold for skipping executions that are late to start.
- Default:
- 600L
-
-