|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.quartz.Trigger org.quartz.DateIntervalTrigger
public class DateIntervalTrigger
A concrete
that is used to fire a Trigger
based upon repeating calendar time intervals.JobDetail
The trigger will fire every N (see setRepeatInterval(int)
) units of calendar time
(see setRepeatIntervalUnit(IntervalUnit)
) as specified in the trigger's definition.
This trigger can achieve schedules that are not possible with SimpleTrigger
(e.g
because months are not a fixed number of seconds) or CronTrigger
(e.g. because
"every 5 months" is not an even divisor of 12).
If you use an interval unit of MONTH
then care should be taken when setting
a startTime
value that is on a day near the end of the month. For example,
if you choose a start time that occurs on January 31st, and have a trigger with unit
MONTH
and interval 1
, then the next fire time will be February 28th,
and the next time after that will be March 28th - and essentially each subsequent firing will
occur on the 28th of the month, even if a 31st day exists. If you want a trigger that always
fires on the last day of the month - regardless of the number of days in the month,
you should use CronTrigger
.
Trigger
,
CronTrigger
,
SimpleTrigger
,
NthIncludedDayTrigger
,
TriggerUtils
,
Serialized FormNested Class Summary | |
---|---|
static class |
DateIntervalTrigger.IntervalUnit
|
Field Summary | |
---|---|
static int |
MISFIRE_INSTRUCTION_DO_NOTHING
Instructs the that upon a mis-fire
situation, the wants to have it's
next-fire-time updated to the next time in the schedule after the
current time (taking into account any associated ,
but it does not want to be fired now. |
static int |
MISFIRE_INSTRUCTION_FIRE_ONCE_NOW
Instructs the that upon a mis-fire
situation, the wants to be
fired now by Scheduler . |
Constructor Summary | |
---|---|
DateIntervalTrigger()
Create a DateIntervalTrigger with no settings. |
|
DateIntervalTrigger(java.lang.String name,
java.util.Date startTime,
java.util.Date endTime,
DateIntervalTrigger.IntervalUnit intervalUnit,
int repeatInterval)
Create a DateIntervalTrigger that will occur at the given time,
and repeat at the the given interval until the given end time. |
|
DateIntervalTrigger(java.lang.String name,
DateIntervalTrigger.IntervalUnit intervalUnit,
int repeatInterval)
Create a DateIntervalTrigger that will occur immediately, and
repeat at the the given interval. |
|
DateIntervalTrigger(java.lang.String name,
java.lang.String group,
java.util.Date startTime,
java.util.Date endTime,
DateIntervalTrigger.IntervalUnit intervalUnit,
int repeatInterval)
Create a DateIntervalTrigger that will occur at the given time,
and repeat at the the given interval until the given end time. |
|
DateIntervalTrigger(java.lang.String name,
java.lang.String group,
DateIntervalTrigger.IntervalUnit intervalUnit,
int repeatInterval)
Create a DateIntervalTrigger that will occur immediately, and
repeat at the the given interval. |
|
DateIntervalTrigger(java.lang.String name,
java.lang.String group,
java.lang.String jobName,
java.lang.String jobGroup,
java.util.Date startTime,
java.util.Date endTime,
DateIntervalTrigger.IntervalUnit intervalUnit,
int repeatInterval)
Create a DateIntervalTrigger that will occur at the given time,
fire the identified Job and repeat at the the given
interval until the given end time. |
Method Summary | |
---|---|
java.util.Date |
computeFirstFireTime(Calendar calendar)
Called by the scheduler at the time a Trigger is first
added to the scheduler, in order to have the Trigger
compute its first fire time, based on any associated calendar. |
int |
executionComplete(JobExecutionContext context,
JobExecutionException result)
Called after the has executed the
associated with the Trigger
in order to get the final instruction code from the trigger. |
java.util.Date |
getEndTime()
Get the time at which the DateIntervalTrigger should quit
repeating. |
java.util.Date |
getFinalFireTime()
Returns the final time at which the DateIntervalTrigger will
fire, if there is no end time set, null will be returned. |
java.util.Date |
getFireTimeAfter(java.util.Date afterTime)
Returns the next time at which the DateIntervalTrigger will
fire, after the given time. |
protected java.util.Date |
getFireTimeAfter(java.util.Date afterTime,
boolean ignoreEndTime)
|
java.util.Date |
getNextFireTime()
Returns the next time at which the Trigger is scheduled to fire. |
java.util.Date |
getPreviousFireTime()
Returns the previous time at which the DateIntervalTrigger
fired. |
int |
getRepeatInterval()
Get the the time interval that will be added to the DateIntervalTrigger 's
fire time (in the set repeat interval unit) in order to calculate the time of the
next trigger repeat. |
DateIntervalTrigger.IntervalUnit |
getRepeatIntervalUnit()
Get the interval unit - the time unit on with the interval applies. |
java.util.Date |
getStartTime()
Get the time at which the DateIntervalTrigger should occur. |
int |
getTimesTriggered()
Get the number of times the DateIntervalTrigger has already
fired. |
boolean |
mayFireAgain()
Determines whether or not the DateIntervalTrigger will occur
again. |
void |
setEndTime(java.util.Date endTime)
Set the time at which the DateIntervalTrigger should quit
repeating (and be automatically deleted). |
void |
setNextFireTime(java.util.Date nextFireTime)
Set the next time at which the DateIntervalTrigger should fire. |
void |
setPreviousFireTime(java.util.Date previousFireTime)
Set the previous time at which the DateIntervalTrigger fired. |
void |
setRepeatInterval(int repeatInterval)
set the the time interval that will be added to the DateIntervalTrigger 's
fire time (in the set repeat interval unit) in order to calculate the time of the
next trigger repeat. |
void |
setRepeatIntervalUnit(DateIntervalTrigger.IntervalUnit intervalUnit)
Set the interval unit - the time unit on with the interval applies. |
void |
setStartTime(java.util.Date startTime)
Set the time at which the DateIntervalTrigger should occur. |
void |
setTimesTriggered(int timesTriggered)
Set the number of times the DateIntervalTrigger has already
fired. |
void |
triggered(Calendar calendar)
Called when the has decided to 'fire'
the trigger (execute the associated Job ), in order to
give the Trigger a chance to update itself for its next
triggering (if any). |
void |
updateAfterMisfire(Calendar cal)
Updates the DateIntervalTrigger 's state based on the
MISFIRE_INSTRUCTION_XXX that was selected when the DateIntervalTrigger
was created. |
void |
updateWithNewCalendar(Calendar calendar,
long misfireThreshold)
This method should not be used by the Quartz client. |
void |
validate()
Validates whether the properties of the JobDetail are
valid for submission into a Scheduler . |
protected boolean |
validateMisfireInstruction(int misfireInstruction)
|
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final int MISFIRE_INSTRUCTION_FIRE_ONCE_NOW
Instructs the
that upon a mis-fire
situation, the Scheduler
wants to be
fired now by DateIntervalTrigger
Scheduler
.
public static final int MISFIRE_INSTRUCTION_DO_NOTHING
Instructs the
that upon a mis-fire
situation, the Scheduler
wants to have it's
next-fire-time updated to the next time in the schedule after the
current time (taking into account any associated DateIntervalTrigger
,
but it does not want to be fired now.
Calendar
Constructor Detail |
---|
public DateIntervalTrigger()
Create a DateIntervalTrigger
with no settings.
public DateIntervalTrigger(java.lang.String name, DateIntervalTrigger.IntervalUnit intervalUnit, int repeatInterval)
Create a DateIntervalTrigger
that will occur immediately, and
repeat at the the given interval.
public DateIntervalTrigger(java.lang.String name, java.lang.String group, DateIntervalTrigger.IntervalUnit intervalUnit, int repeatInterval)
Create a DateIntervalTrigger
that will occur immediately, and
repeat at the the given interval.
public DateIntervalTrigger(java.lang.String name, java.util.Date startTime, java.util.Date endTime, DateIntervalTrigger.IntervalUnit intervalUnit, int repeatInterval)
Create a DateIntervalTrigger
that will occur at the given time,
and repeat at the the given interval until the given end time.
startTime
- A Date
set to the time for the Trigger
to fire.endTime
- A Date
set to the time for the Trigger
to quit repeat firing.intervalUnit
- The repeat interval unit (minutes, days, months, etc).repeatInterval
- The number of milliseconds to pause between the repeat firing.public DateIntervalTrigger(java.lang.String name, java.lang.String group, java.util.Date startTime, java.util.Date endTime, DateIntervalTrigger.IntervalUnit intervalUnit, int repeatInterval)
Create a DateIntervalTrigger
that will occur at the given time,
and repeat at the the given interval until the given end time.
startTime
- A Date
set to the time for the Trigger
to fire.endTime
- A Date
set to the time for the Trigger
to quit repeat firing.intervalUnit
- The repeat interval unit (minutes, days, months, etc).repeatInterval
- The number of milliseconds to pause between the repeat firing.public DateIntervalTrigger(java.lang.String name, java.lang.String group, java.lang.String jobName, java.lang.String jobGroup, java.util.Date startTime, java.util.Date endTime, DateIntervalTrigger.IntervalUnit intervalUnit, int repeatInterval)
Create a DateIntervalTrigger
that will occur at the given time,
fire the identified Job
and repeat at the the given
interval until the given end time.
startTime
- A Date
set to the time for the Trigger
to fire.endTime
- A Date
set to the time for the Trigger
to quit repeat firing.intervalUnit
- The repeat interval unit (minutes, days, months, etc).repeatInterval
- The number of milliseconds to pause between the repeat firing.Method Detail |
---|
public java.util.Date getStartTime()
Get the time at which the DateIntervalTrigger
should occur.
getStartTime
in class Trigger
public void setStartTime(java.util.Date startTime)
Set the time at which the DateIntervalTrigger
should occur.
setStartTime
in class Trigger
java.lang.IllegalArgumentException
- if startTime is null
.public java.util.Date getEndTime()
Get the time at which the DateIntervalTrigger
should quit
repeating.
getEndTime
in class Trigger
getFinalFireTime()
public void setEndTime(java.util.Date endTime)
Set the time at which the DateIntervalTrigger
should quit
repeating (and be automatically deleted).
setEndTime
in class Trigger
java.lang.IllegalArgumentException
- if endTime is before start time.TriggerUtils.computeEndTimeToAllowParticularNumberOfFirings(Trigger, Calendar, int)
public DateIntervalTrigger.IntervalUnit getRepeatIntervalUnit()
Get the interval unit - the time unit on with the interval applies.
public void setRepeatIntervalUnit(DateIntervalTrigger.IntervalUnit intervalUnit)
Set the interval unit - the time unit on with the interval applies.
public int getRepeatInterval()
Get the the time interval that will be added to the DateIntervalTrigger
's
fire time (in the set repeat interval unit) in order to calculate the time of the
next trigger repeat.
public void setRepeatInterval(int repeatInterval)
set the the time interval that will be added to the DateIntervalTrigger
's
fire time (in the set repeat interval unit) in order to calculate the time of the
next trigger repeat.
java.lang.IllegalArgumentException
- if repeatInterval is < 1public int getTimesTriggered()
Get the number of times the DateIntervalTrigger
has already
fired.
public void setTimesTriggered(int timesTriggered)
Set the number of times the DateIntervalTrigger
has already
fired.
protected boolean validateMisfireInstruction(int misfireInstruction)
validateMisfireInstruction
in class Trigger
public void updateAfterMisfire(Calendar cal)
Updates the DateIntervalTrigger
's state based on the
MISFIRE_INSTRUCTION_XXX that was selected when the DateIntervalTrigger
was created.
If the misfire instruction is set to MISFIRE_INSTRUCTION_SMART_POLICY,
then the following scheme will be used:
MISFIRE_INSTRUCTION_FIRE_ONCE_NOW
updateAfterMisfire
in class Trigger
public void triggered(Calendar calendar)
Called when the
has decided to 'fire'
the trigger (execute the associated Scheduler
Job
), in order to
give the Trigger
a chance to update itself for its next
triggering (if any).
triggered
in class Trigger
executionComplete(JobExecutionContext, JobExecutionException)
public void updateWithNewCalendar(Calendar calendar, long misfireThreshold)
Trigger
This method should not be used by the Quartz client.
To be implemented by the concrete class.
The implementation should update the Trigger
's state
based on the given new version of the associated Calendar
(the state should be updated so that it's next fire time is appropriate
given the Calendar's new settings).
updateWithNewCalendar
in class Trigger
Trigger.updateWithNewCalendar(org.quartz.Calendar, long)
public java.util.Date computeFirstFireTime(Calendar calendar)
Called by the scheduler at the time a Trigger
is first
added to the scheduler, in order to have the Trigger
compute its first fire time, based on any associated calendar.
After this method has been called, getNextFireTime()
should return a valid answer.
computeFirstFireTime
in class Trigger
Trigger
will be fired
by the scheduler, which is also the same value getNextFireTime()
will return (until after the first firing of the Trigger
).
public int executionComplete(JobExecutionContext context, JobExecutionException result)
Called after the
has executed the
Scheduler
associated with the JobDetail
Trigger
in order to get the final instruction code from the trigger.
executionComplete
in class Trigger
context
- is the JobExecutionContext
that was used by the
Job
'sexecute(xx)
method.result
- is the JobExecutionException
thrown by the
Job
, if any (may be null).
Trigger.INSTRUCTION_NOOP
,
Trigger.INSTRUCTION_RE_EXECUTE_JOB
,
Trigger.INSTRUCTION_DELETE_TRIGGER
,
Trigger.INSTRUCTION_SET_TRIGGER_COMPLETE
,
triggered(Calendar)
public java.util.Date getNextFireTime()
Returns the next time at which the Trigger
is scheduled to fire. If
the trigger will not fire again, null
will be returned. Note that
the time returned can possibly be in the past, if the time that was computed
for the trigger to next fire has already arrived, but the scheduler has not yet
been able to fire the trigger (which would likely be due to lack of resources
e.g. threads).
The value returned is not guaranteed to be valid until after the Trigger
has been added to the scheduler.
getNextFireTime
in class Trigger
TriggerUtils.computeFireTimesBetween(Trigger, Calendar, Date, Date)
public java.util.Date getPreviousFireTime()
Returns the previous time at which the DateIntervalTrigger
fired. If the trigger has not yet fired, null
will be
returned.
getPreviousFireTime
in class Trigger
public void setNextFireTime(java.util.Date nextFireTime)
Set the next time at which the DateIntervalTrigger
should fire.
This method should not be invoked by client code.
public void setPreviousFireTime(java.util.Date previousFireTime)
Set the previous time at which the DateIntervalTrigger
fired.
This method should not be invoked by client code.
public java.util.Date getFireTimeAfter(java.util.Date afterTime)
Returns the next time at which the DateIntervalTrigger
will
fire, after the given time. If the trigger will not fire after the given
time, null
will be returned.
getFireTimeAfter
in class Trigger
protected java.util.Date getFireTimeAfter(java.util.Date afterTime, boolean ignoreEndTime)
public java.util.Date getFinalFireTime()
Returns the final time at which the DateIntervalTrigger
will
fire, if there is no end time set, null will be returned.
Note that the return time may be in the past.
getFinalFireTime
in class Trigger
public boolean mayFireAgain()
Determines whether or not the DateIntervalTrigger
will occur
again.
mayFireAgain
in class Trigger
public void validate() throws SchedulerException
Validates whether the properties of the JobDetail
are
valid for submission into a Scheduler
.
validate
in class Trigger
java.lang.IllegalStateException
- if a required property (such as Name, Group, Class) is not
set.
SchedulerException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |