public class CronTriggerImpl extends AbstractTrigger implements CronTrigger
A concrete that is used to fire a Trigger at given moments in time, defined
with Unix 'cron-like' definitions.
JobDetail
Trigger.CompletedExecutionInstruction, Trigger.TriggerTimeComparatorendTime, nextFireTime, previousFireTime, startTimeMISFIRE_INSTRUCTION_DO_NOTHING, MISFIRE_INSTRUCTION_FIRE_ONCE_NOWDEFAULT_PRIORITY, MISFIRE_INSTRUCTION_IGNORE_MISFIRE_POLICY, MISFIRE_INSTRUCTION_SMART_POLICY| Constructor and Description |
|---|
CronTriggerImpl()
Create a
CronTrigger with no settings. |
| Modifier and Type | Method and Description |
|---|---|
Object |
clone() |
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. |
String |
getCronExpression() |
Date |
getEndTime()
Get the time at which the
CronTrigger should quit repeating - even if repeastCount isn't yet satisfied. |
String |
getExpressionSummary() |
Date |
getFinalFireTime()
NOT YET IMPLEMENTED: Returns the final time at which the
CronTrigger will fire. |
Date |
getFireTimeAfter(Date afterTime)
Returns the next time at which the
CronTrigger will fire, after the given time. |
Date |
getNextFireTime()
Returns the next time at which the
Trigger is scheduled to fire. |
Date |
getPreviousFireTime()
Returns the previous time at which the
CronTrigger fired. |
Date |
getStartTime()
Get the time at which the
CronTrigger should occur. |
TimeZone |
getTimeZone()
Returns the time zone for which the
cronExpression of this CronTrigger will be resolved. |
boolean |
mayFireAgain()
Determines whether or not the
CronTrigger will occur again. |
void |
setCronExpression(CronExpression cronExpression)
Set the CronExpression to the given one.
|
void |
setCronExpression(String cronExpression) |
void |
setEndTime(Date endTime)
Set the time at which the
Trigger should quit repeating - regardless of any remaining repeats (based on the trigger's particular
repeat settings). |
void |
setNextFireTime(Date nextFireTime)
Sets the next time at which the
CronTrigger will fire. |
void |
setPreviousFireTime(Date previousFireTime)
Set the previous time at which the
CronTrigger fired. |
void |
setStartTime(Date startTime)
The time at which the trigger's scheduling should start.
|
void |
setTimeZone(TimeZone timeZone)
Sets the time zone for which the
cronExpression of this CronTrigger will be resolved. |
String |
toString() |
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
CronTrigger's state based on the MISFIRE_INSTRUCTION_XXX that was selected when the CronTrigger was
created. |
protected boolean |
validateMisfireInstruction(int misfireInstruction) |
compareTo, equals, executionComplete, getCalendarName, getDescription, getFireInstanceId, getJobDataMap, getJobName, getMisfireInstruction, getName, getPriority, hashCode, setCalendarName, setDescription, setFireInstanceId, setJobDataMap, setJobName, setMisfireInstruction, setName, setPriority, validatefinalize, getClass, notify, notifyAll, wait, wait, waitequals, getCalendarName, getDescription, getJobDataMap, getJobName, getMisfireInstruction, getName, getPrioritycompareTopublic CronTriggerImpl()
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.
public Object clone()
clone in interface MutableTriggerclone in class AbstractTriggerpublic void setCronExpression(String cronExpression) throws ParseException
ParseExceptionpublic String getCronExpression()
getCronExpression in interface CronTriggerpublic void setCronExpression(CronExpression cronExpression)
cronExpression - public Date getStartTime()
Get the time at which the CronTrigger should occur.
getStartTime in interface Triggerpublic void setStartTime(Date startTime)
MutableTriggerThe time at which the trigger's scheduling should start. May or may not be the first actual fire time of the trigger, depending upon the type of trigger and the settings of the other properties of the trigger. However the first actual first time will not be before this date.
Setting a value in the past may cause a new trigger to compute a first fire time that is in the past, which may cause an immediate misfire of the trigger.
setStartTime in interface MutableTriggerpublic Date getEndTime()
Get the time at which the CronTrigger should quit repeating - even if repeastCount isn't yet satisfied.
getEndTime in interface TriggergetFinalFireTime()public void setEndTime(Date endTime)
MutableTrigger
Set the time at which the Trigger should quit repeating - regardless of any remaining repeats (based on the trigger's particular
repeat settings).
setEndTime in interface MutableTriggerTriggerUtils#computeEndTimeToAllowParticularNumberOfFirings(Trigger, Calendar, int)public 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 interface TriggerTriggerUtils#computeFireTimesBetween(Trigger, org.quartz.core.Calendar , Date, Date)public Date getPreviousFireTime()
Returns the previous time at which the CronTrigger fired. If the trigger has not yet fired, null will be returned.
getPreviousFireTime in interface Triggerpublic void setNextFireTime(Date nextFireTime)
Sets the next time at which the CronTrigger will fire. This method should not be invoked by client code.
setNextFireTime in interface OperableTriggerpublic void setPreviousFireTime(Date previousFireTime)
Set the previous time at which the CronTrigger fired.
This method should not be invoked by client code.
setPreviousFireTime in interface OperableTriggerpublic TimeZone getTimeZone()
CronTrigger
Returns the time zone for which the cronExpression of this CronTrigger will be resolved.
getTimeZone in interface CronTriggerpublic void setTimeZone(TimeZone timeZone)
Sets the time zone for which the cronExpression of this CronTrigger will be resolved.
If setCronExpression(CronExpression) is called after this method, the TimeZone setting on the CronExpression will "win". However if
setCronExpression(String) is called after this method, the time zone applied by this method will remain in effect, since the String cron
expression does not carry a time zone!
public Date getFireTimeAfter(Date afterTime)
Returns the next time at which the CronTrigger will fire, after the given time. If the trigger will not fire after the given time,
null will be returned.
Note that the date returned is NOT validated against the related org.quartz.Calendar (if any)
getFireTimeAfter in interface Triggerpublic Date getFinalFireTime()
NOT YET IMPLEMENTED: Returns the final time at which the CronTrigger will fire.
Note that the return time *may* be in the past. and the date returned is not validated against org.quartz.calendar
getFinalFireTime in interface Triggerpublic boolean mayFireAgain()
Determines whether or not the CronTrigger will occur again.
mayFireAgain in interface Triggerprotected boolean validateMisfireInstruction(int misfireInstruction)
validateMisfireInstruction in class AbstractTriggerpublic void updateAfterMisfire(Calendar cal)
Updates the CronTrigger's state based on the MISFIRE_INSTRUCTION_XXX that was selected when the CronTrigger 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 interface OperableTriggerpublic void triggered(Calendar calendar)
Called when the has decided to 'fire' the trigger (execute the associated SchedulerJob), in order to give the
Trigger a chance to update itself for its next triggering (if any).
triggered in interface OperableTriggerAbstractTrigger.executionComplete(JobExecutionContext, JobExecutionException)public 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 interface OperableTriggerTrigger will be fired by the scheduler, which is also the same value
getNextFireTime() will return (until after the first firing of the Trigger).
public String getExpressionSummary()
getExpressionSummary in interface CronTriggerpublic String toString()
toString in class AbstractTriggerCopyright © 2011–2017 Knowm Inc.. All rights reserved.