|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.quartz.Trigger org.quartz.SimpleTrigger
public class SimpleTrigger
A concrete
that is used to fire a Trigger
at a given moment in time, and optionally repeated at a specified interval.
JobDetail
Trigger
,
CronTrigger
,
TriggerUtils
,
Serialized FormField Summary | |
---|---|
static int |
MISFIRE_INSTRUCTION_FIRE_NOW
Instructs the that upon a mis-fire
situation, the wants to be fired
now by Scheduler . |
static int |
MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_EXISTING_COUNT
Instructs the that upon a mis-fire
situation, the wants to be
re-scheduled to the next scheduled time after 'now' - taking into
account any associated , and with the
repeat count left unchanged. |
static int |
MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_REMAINING_COUNT
Instructs the that upon a mis-fire
situation, the wants to be
re-scheduled to the next scheduled time after 'now' - taking into
account any associated , and with the
repeat count set to what it would be, if it had not missed any firings. |
static int |
MISFIRE_INSTRUCTION_RESCHEDULE_NOW_WITH_EXISTING_REPEAT_COUNT
Instructs the that upon a mis-fire
situation, the wants to be
re-scheduled to 'now' (even if the associated
excludes 'now') with the repeat count left as-is. |
static int |
MISFIRE_INSTRUCTION_RESCHEDULE_NOW_WITH_REMAINING_REPEAT_COUNT
Instructs the that upon a mis-fire
situation, the wants to be
re-scheduled to 'now' (even if the associated
excludes 'now') with the repeat count set to what it would be, if it had
not missed any firings. |
static int |
REPEAT_INDEFINITELY
Used to indicate the 'repeat count' of the trigger is indefinite. |
Constructor Summary | |
---|---|
SimpleTrigger()
Create a SimpleTrigger with no settings. |
|
SimpleTrigger(java.lang.String name)
Create a SimpleTrigger that will occur immediately, and
not repeat. |
|
SimpleTrigger(java.lang.String name,
java.util.Date startTime)
Create a SimpleTrigger that will occur at the given time,
and not repeat. |
|
SimpleTrigger(java.lang.String name,
java.util.Date startTime,
java.util.Date endTime,
int repeatCount,
long repeatInterval)
Create a SimpleTrigger that will occur at the given time,
and repeat at the the given interval the given number of times, or until
the given end time. |
|
SimpleTrigger(java.lang.String name,
int repeatCount,
long repeatInterval)
Create a SimpleTrigger that will occur immediately, and
repeat at the the given interval the given number of times. |
|
SimpleTrigger(java.lang.String name,
java.lang.String group)
Create a SimpleTrigger that will occur immediately, and
not repeat. |
|
SimpleTrigger(java.lang.String name,
java.lang.String group,
java.util.Date startTime)
Create a SimpleTrigger that will occur at the given time,
and not repeat. |
|
SimpleTrigger(java.lang.String name,
java.lang.String group,
java.util.Date startTime,
java.util.Date endTime,
int repeatCount,
long repeatInterval)
Create a SimpleTrigger that will occur at the given time,
and repeat at the the given interval the given number of times, or until
the given end time. |
|
SimpleTrigger(java.lang.String name,
java.lang.String group,
int repeatCount,
long repeatInterval)
Create a SimpleTrigger that will occur immediately, and
repeat at the the given interval the given number of times. |
|
SimpleTrigger(java.lang.String name,
java.lang.String group,
java.lang.String jobName,
java.lang.String jobGroup,
java.util.Date startTime,
java.util.Date endTime,
int repeatCount,
long repeatInterval)
Create a SimpleTrigger that will occur at the given time,
fire the identified Job and repeat at the the given
interval the given number of times, or 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 |
computeNumTimesFiredBetween(java.util.Date start,
java.util.Date end)
|
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 SimpleTrigger should quit
repeating - even if repeastCount isn't yet satisfied. |
java.util.Date |
getFinalFireTime()
Returns the final time at which the SimpleTrigger will
fire, if repeatCount is REPEAT_INDEFINITELY, null will be returned. |
java.util.Date |
getFireTimeAfter(java.util.Date afterTime)
Returns the next time at which the SimpleTrigger will
fire, after the given time. |
java.util.Date |
getFireTimeBefore(java.util.Date end)
Returns the last time at which the SimpleTrigger will
fire, before the given time. |
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 SimpleTrigger
fired. |
int |
getRepeatCount()
Get the the number of times the SimpleTrigger should
repeat, after which it will be automatically deleted. |
long |
getRepeatInterval()
Get the the time interval (in milliseconds) at which the SimpleTrigger
should repeat. |
java.util.Date |
getStartTime()
Get the time at which the SimpleTrigger should occur. |
int |
getTimesTriggered()
Get the number of times the SimpleTrigger has already
fired. |
boolean |
hasAdditionalProperties()
Used by extensions of SimpleTrigger to imply that there are additional properties, specifically so that extensions can choose whether to be stored as a serialized blob, or as a flattened SimpleTrigger table. |
boolean |
mayFireAgain()
Determines whether or not the SimpleTrigger will occur
again. |
void |
setEndTime(java.util.Date endTime)
Set the time at which the SimpleTrigger should quit
repeating (and be automatically deleted). |
void |
setNextFireTime(java.util.Date nextFireTime)
Set the next time at which the SimpleTrigger should fire. |
void |
setPreviousFireTime(java.util.Date previousFireTime)
Set the previous time at which the SimpleTrigger fired. |
void |
setRepeatCount(int repeatCount)
Set the the number of time the SimpleTrigger should
repeat, after which it will be automatically deleted. |
void |
setRepeatInterval(long repeatInterval)
Set the the time interval (in milliseconds) at which the SimpleTrigger
should repeat. |
void |
setStartTime(java.util.Date startTime)
Set the time at which the SimpleTrigger should occur. |
void |
setTimesTriggered(int timesTriggered)
Set the number of times the SimpleTrigger 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 SimpleTrigger 's state based on the
MISFIRE_INSTRUCTION_XXX that was selected when the SimpleTrigger
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_NOW
Instructs the
that upon a mis-fire
situation, the Scheduler
wants to be fired
now by SimpleTrigger
Scheduler
.
NOTE: This instruction should typically only be used for
'one-shot' (non-repeating) Triggers. If it is used on a trigger with a
repeat count > 0 then it is equivalent to the instruction
.
MISFIRE_INSTRUCTION_RESCHEDULE_NOW_WITH_REMAINING_REPEAT_COUNT
public static final int MISFIRE_INSTRUCTION_RESCHEDULE_NOW_WITH_EXISTING_REPEAT_COUNT
Instructs the
that upon a mis-fire
situation, the Scheduler
wants to be
re-scheduled to 'now' (even if the associated SimpleTrigger
excludes 'now') with the repeat count left as-is. This does obey the
Calendar
Trigger
end-time however, so if 'now' is after the
end-time the Trigger
will not fire again.
NOTE: Use of this instruction causes the trigger to 'forget' the start-time and repeat-count that it was originally setup with (this is only an issue if you for some reason wanted to be able to tell what the original values were at some later time).
public static final int MISFIRE_INSTRUCTION_RESCHEDULE_NOW_WITH_REMAINING_REPEAT_COUNT
Instructs the
that upon a mis-fire
situation, the Scheduler
wants to be
re-scheduled to 'now' (even if the associated SimpleTrigger
excludes 'now') with the repeat count set to what it would be, if it had
not missed any firings. This does obey the Calendar
Trigger
end-time
however, so if 'now' is after the end-time the Trigger
will
not fire again.
NOTE: Use of this instruction causes the trigger to 'forget' the start-time and repeat-count that it was originally setup with. Instead, the repeat count on the trigger will be changed to whatever the remaining repeat count is (this is only an issue if you for some reason wanted to be able to tell what the original values were at some later time).
NOTE: This instruction could cause the Trigger
to go to the 'COMPLETE' state after firing 'now', if all the
repeat-fire-times where missed.
public static final int MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_REMAINING_COUNT
Instructs the
that upon a mis-fire
situation, the Scheduler
wants to be
re-scheduled to the next scheduled time after 'now' - taking into
account any associated SimpleTrigger
, and with the
repeat count set to what it would be, if it had not missed any firings.
Calendar
NOTE/WARNING: This instruction could cause the Trigger
to go directly to the 'COMPLETE' state if all fire-times where missed.
public static final int MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_EXISTING_COUNT
Instructs the
that upon a mis-fire
situation, the Scheduler
wants to be
re-scheduled to the next scheduled time after 'now' - taking into
account any associated SimpleTrigger
, and with the
repeat count left unchanged.
Calendar
NOTE/WARNING: This instruction could cause the Trigger
to go directly to the 'COMPLETE' state if the end-time of the trigger
has arrived.
public static final int REPEAT_INDEFINITELY
Used to indicate the 'repeat count' of the trigger is indefinite. Or in other words, the trigger should repeat continually until the trigger's ending timestamp.
Constructor Detail |
---|
public SimpleTrigger()
Create a SimpleTrigger
with no settings.
public SimpleTrigger(java.lang.String name)
Create a SimpleTrigger
that will occur immediately, and
not repeat.
public SimpleTrigger(java.lang.String name, java.lang.String group)
Create a SimpleTrigger
that will occur immediately, and
not repeat.
public SimpleTrigger(java.lang.String name, int repeatCount, long repeatInterval)
Create a SimpleTrigger
that will occur immediately, and
repeat at the the given interval the given number of times.
public SimpleTrigger(java.lang.String name, java.lang.String group, int repeatCount, long repeatInterval)
Create a SimpleTrigger
that will occur immediately, and
repeat at the the given interval the given number of times.
public SimpleTrigger(java.lang.String name, java.util.Date startTime)
Create a SimpleTrigger
that will occur at the given time,
and not repeat.
public SimpleTrigger(java.lang.String name, java.lang.String group, java.util.Date startTime)
Create a SimpleTrigger
that will occur at the given time,
and not repeat.
public SimpleTrigger(java.lang.String name, java.util.Date startTime, java.util.Date endTime, int repeatCount, long repeatInterval)
Create a SimpleTrigger
that will occur at the given time,
and repeat at the the given interval the given number of times, or 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.repeatCount
- The number of times for the Trigger
to repeat
firing, use REPEAT_INDEFINITELY
for unlimited times.repeatInterval
- The number of milliseconds to pause between the repeat firing.public SimpleTrigger(java.lang.String name, java.lang.String group, java.util.Date startTime, java.util.Date endTime, int repeatCount, long repeatInterval)
Create a SimpleTrigger
that will occur at the given time,
and repeat at the the given interval the given number of times, or 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.repeatCount
- The number of times for the Trigger
to repeat
firing, use REPEAT_INDEFINITELY
for unlimited times.repeatInterval
- The number of milliseconds to pause between the repeat firing.public SimpleTrigger(java.lang.String name, java.lang.String group, java.lang.String jobName, java.lang.String jobGroup, java.util.Date startTime, java.util.Date endTime, int repeatCount, long repeatInterval)
Create a SimpleTrigger
that will occur at the given time,
fire the identified Job
and repeat at the the given
interval the given number of times, or 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.repeatCount
- The number of times for the Trigger
to repeat
firing, use REPEAT_INDEFINITELY
for unlimitted times.repeatInterval
- The number of milliseconds to pause between the repeat firing.Method Detail |
---|
public java.util.Date getStartTime()
Get the time at which the SimpleTrigger
should occur.
getStartTime
in class Trigger
public void setStartTime(java.util.Date startTime)
Set the time at which the SimpleTrigger
should occur.
setStartTime
in class Trigger
java.lang.IllegalArgumentException
- if startTime is null
.public java.util.Date getEndTime()
Get the time at which the SimpleTrigger
should quit
repeating - even if repeastCount isn't yet satisfied.
getEndTime
in class Trigger
getFinalFireTime()
public void setEndTime(java.util.Date endTime)
Set the time at which the SimpleTrigger
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 int getRepeatCount()
Get the the number of times the SimpleTrigger
should
repeat, after which it will be automatically deleted.
REPEAT_INDEFINITELY
public void setRepeatCount(int repeatCount)
Set the the number of time the SimpleTrigger
should
repeat, after which it will be automatically deleted.
java.lang.IllegalArgumentException
- if repeatCount is < 0REPEAT_INDEFINITELY
public long getRepeatInterval()
Get the the time interval (in milliseconds) at which the SimpleTrigger
should repeat.
public void setRepeatInterval(long repeatInterval)
Set the the time interval (in milliseconds) at which the SimpleTrigger
should repeat.
java.lang.IllegalArgumentException
- if repeatInterval is <= 0public int getTimesTriggered()
Get the number of times the SimpleTrigger
has already
fired.
public void setTimesTriggered(int timesTriggered)
Set the number of times the SimpleTrigger
has already
fired.
protected boolean validateMisfireInstruction(int misfireInstruction)
validateMisfireInstruction
in class Trigger
public void updateAfterMisfire(Calendar cal)
Updates the SimpleTrigger
's state based on the
MISFIRE_INSTRUCTION_XXX that was selected when the SimpleTrigger
was created.
If the misfire instruction is set to MISFIRE_INSTRUCTION_SMART_POLICY,
then the following scheme will be used:
0
, then the instruction will
be interpreted as MISFIRE_INSTRUCTION_FIRE_NOW
.REPEAT_INDEFINITELY
, then
the instruction will be interpreted as MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_REMAINING_COUNT
.
WARNING: using MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_REMAINING_COUNT
with a trigger that has a non-null end-time may cause the trigger to
never fire again if the end-time arrived during the misfire time span.
> 0
, then the instruction
will be interpreted as MISFIRE_INSTRUCTION_RESCHEDULE_NOW_WITH_EXISTING_REPEAT_COUNT
.
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 SimpleTrigger
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 SimpleTrigger
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 SimpleTrigger
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 SimpleTrigger
will
fire, after the given time. If the trigger will not fire after the given
time, null
will be returned.
getFireTimeAfter
in class Trigger
public java.util.Date getFireTimeBefore(java.util.Date end)
Returns the last time at which the SimpleTrigger
will
fire, before the given time. If the trigger will not fire before the
given time, null
will be returned.
public int computeNumTimesFiredBetween(java.util.Date start, java.util.Date end)
public java.util.Date getFinalFireTime()
Returns the final time at which the SimpleTrigger
will
fire, if repeatCount is REPEAT_INDEFINITELY, 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 SimpleTrigger
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
public boolean hasAdditionalProperties()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |