-
public class
CronTrigger
extends
Trigger
A concrete
that is used to fire a Trigger
at given moments in time, defined with Unix 'cron-like' definitions. JobDetail
For those unfamiliar with "cron", this means being able to create a firing schedule such as: "At 8:00am every Monday through Friday" or "At 1:30am every last Friday of the month".
The format of a "Cron-Expression" string is documented on the CronExpression
class.
Here are some full examples:
Expression | Meaning | |
---|---|---|
"0 0 12 * * ?" | Fire at 12pm (noon) every day | |
"0 15 10 ? * *" | Fire at 10:15am every day | |
"0 15 10 * * ?" | Fire at 10:15am every day | |
"0 15 10 * * ? *" | Fire at 10:15am every day | |
"0 15 10 * * ? 2005" | Fire at 10:15am every day during the year 2005 | |
"0 * 14 * * ?" | Fire every minute starting at 2pm and ending at 2:59pm, every day | |
"0 0/5 14 * * ?" | Fire every 5 minutes starting at 2pm and ending at 2:55pm, every day | |
"0 0/5 14,18 * * ?" | Fire every 5 minutes starting at 2pm and ending at 2:55pm, AND fire every 5 minutes starting at 6pm and ending at 6:55pm, every day | |
"0 0-5 14 * * ?" | Fire every minute starting at 2pm and ending at 2:05pm, every day | |
"0 10,44 14 ? 3 WED" | Fire at 2:10pm and at 2:44pm every Wednesday in the month of March. | |
"0 15 10 ? * MON-FRI" | Fire at 10:15am every Monday, Tuesday, Wednesday, Thursday and Friday | |
"0 15 10 15 * ?" | Fire at 10:15am on the 15th day of every month | |
"0 15 10 L * ?" | Fire at 10:15am on the last day of every month | |
"0 15 10 ? * 6L" | Fire at 10:15am on the last Friday of every month | |
"0 15 10 ? * 6L" | Fire at 10:15am on the last Friday of every month | |
"0 15 10 ? * 6L 2002-2005" | Fire at 10:15am on every last friday of every month during the years 2002, 2003, 2004 and 2005 | |
"0 15 10 ? * 6#3" | Fire at 10:15am on the third Friday of every month |
Pay attention to the effects of '?' and '*' in the day-of-week and day-of-month fields!
NOTES:
- Support for specifying both a day-of-week and a day-of-month value is not complete (you'll need to use the '?' character in on of these fields).
- Be careful when setting fire times between mid-night and 1:00 AM - "daylight savings" can cause a skip or a repeat depending on whether the time moves back or jumps forward.
==========================
CronTrigger
public CronTrigger()
-
Create a
CronTrigger
with no settings.The start-time will also be set to the current time, and the time zone will be set the the system's default time zone.
CronTrigger
public CronTrigger(String name, String group)
-
Create a
CronTrigger
with the given name and group.The start-time will also be set to the current time, and the time zone will be set the the system's default time zone.
CronTrigger
public CronTrigger(String name, String group, String cronExpression) throws ParseException
-
Create a
CronTrigger
with the given name, group and expression.The start-time will also be set to the current time, and the time zone will be set the the system's default time zone.
CronTrigger
public CronTrigger(String name, String group, String jobName, String jobGroup)
-
Create a
CronTrigger
with the given name and group, and associated with the identified
.JobDetail
The start-time will also be set to the current time, and the time zone will be set the the system's default time zone.
CronTrigger
public CronTrigger(String name, String group, String jobName, String jobGroup, String cronExpression) throws ParseException
-
Create a
CronTrigger
with the given name and group, associated with the identified
, and with the given "cron" expression.JobDetail
The start-time will also be set to the current time, and the time zone will be set the the system's default time zone.
CronTrigger
public CronTrigger(String name, String group, String jobName, String jobGroup, String cronExpression, TimeZone timeZone) throws ParseException
-
Create a
CronTrigger
with the given name and group, associated with the identified
, and with the given "cron" expression resolved with respect to theJobDetail
TimeZone
.
CronTrigger
public CronTrigger(String name, String group, String jobName, String jobGroup, Date startTime, Date endTime, String cronExpression) throws ParseException
-
Create a
CronTrigger
that will occur at the given time, until the given end time.If null, the start-time will also be set to the current time, the time zone will be set the the system's default.
Parameters:
-
startTime
- ADate
set to the time for theTrigger
to fire. -
endTime
- ADate
set to the time for theTrigger
to quit repeat firing.
CronTrigger
public CronTrigger(String name, String group, String jobName, String jobGroup, Date startTime, Date endTime, String cronExpression, TimeZone timeZone) throws ParseException
-
Create a
CronTrigger
with fire time dictated by thecronExpression
resolved with respect to the specifiedtimeZone
occuring from thestartTime
until the givenendTime
.If null, the start-time will also be set to the current time. If null, the time zone will be set to the system's default.
Parameters:
-
name
- of theTrigger
-
group
- of theTrigger
-
startTime
- ADate
set to the earliest time for theTrigger
to start firing. -
endTime
- ADate
set to the time for theTrigger
to quit repeat firing.
Throws:
-
ParseException
- if thecronExpression
is invalid.