public interface Trigger extends Serializable, Cloneable, Comparable<Trigger>
Trigger
s -
use TriggerBuilder
to instantiate an actual Trigger.
Triggers
s have a TriggerKey
associated with them, which
should uniquely identify them within a single
.
Scheduler
Trigger
s are the 'mechanism' by which Job
s
are scheduled. Many Trigger
s can point to the same Job
,
but a single Trigger
can only point to one Job
.
Triggers can 'send' parameters/data to Job
s by placing contents
into the JobDataMap
on the Trigger
.
TriggerBuilder
,
JobDataMap
,
JobExecutionContext
,
TriggerUtils
,
SimpleTrigger
,
CronTrigger
,
CalendarIntervalTrigger
Modifier and Type | Interface and Description |
---|---|
static class |
Trigger.CompletedExecutionInstruction
|
static class |
Trigger.TriggerState |
static class |
Trigger.TriggerTimeComparator
A Comparator that compares trigger's next fire times, or in other words,
sorts them according to earliest next fire time.
|
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_PRIORITY
The default value for priority.
|
static int |
MISFIRE_INSTRUCTION_IGNORE_MISFIRE_POLICY
Instructs the
that the
Trigger will never be evaluated for a misfire situation,
and that the scheduler will simply try to fire it as soon as it can,
and then update the Trigger as if it had fired at the proper time. |
static int |
MISFIRE_INSTRUCTION_SMART_POLICY
Instructs the
that upon a mis-fire
situation, the updateAfterMisfire() method will be called
on the Trigger to determine the mis-fire instruction,
which logic will be trigger-implementation-dependent. |
static long |
serialVersionUID |
Modifier and Type | Method and Description |
---|---|
int |
compareTo(Trigger other)
Compare the next fire time of this
Trigger to that of
another by comparing their keys, or in other words, sorts them
according to the natural (i.e. |
boolean |
equals(Object other)
Trigger equality is based upon the equality of the TriggerKey.
|
String |
getCalendarName()
Get the name of the
associated with this
Trigger. |
String |
getDescription()
Return the description given to the
Trigger instance by
its creator (if any). |
Date |
getEndTime()
Get the time at which the
Trigger should quit repeating -
regardless of any remaining repeats (based on the trigger's particular
repeat settings). |
Date |
getFinalFireTime()
Returns the last time at which the
Trigger will fire, if
the Trigger will repeat indefinitely, null will be returned. |
Date |
getFireTimeAfter(Date afterTime)
Returns the next time at which the
Trigger will fire,
after the given time. |
JobDataMap |
getJobDataMap()
Get the
JobDataMap that is associated with the
Trigger . |
JobKey |
getJobKey() |
TriggerKey |
getKey() |
int |
getMisfireInstruction()
Get the instruction the
Scheduler should be given for
handling misfire situations for this Trigger - the
concrete Trigger type that you are using will have
defined a set of additional MISFIRE_INSTRUCTION_XXX
constants that may be set as this property's value. |
Date |
getNextFireTime()
Returns the next time at which the
Trigger is scheduled to fire. |
Date |
getPreviousFireTime()
Returns the previous time at which the
Trigger fired. |
int |
getPriority()
The priority of a
Trigger acts as a tiebreaker such that if
two Trigger s have the same scheduled fire time, then the
one with the higher priority will get first access to a worker
thread. |
ScheduleBuilder<? extends Trigger> |
getScheduleBuilder()
Get a
ScheduleBuilder that is configured to produce a
schedule identical to this trigger's schedule. |
Date |
getStartTime()
Get the time at which the
Trigger should occur. |
TriggerBuilder<? extends Trigger> |
getTriggerBuilder()
Get a
TriggerBuilder that is configured to produce a
Trigger identical to this one. |
boolean |
mayFireAgain()
Used by the
to determine whether or not
it is possible for this Trigger to fire again. |
static final long serialVersionUID
static final int MISFIRE_INSTRUCTION_SMART_POLICY
Scheduler
that upon a mis-fire
situation, the updateAfterMisfire()
method will be called
on the Trigger
to determine the mis-fire instruction,
which logic will be trigger-implementation-dependent.
In order to see if this instruction fits your needs, you should look at
the documentation for the getSmartMisfirePolicy()
method
on the particular Trigger
implementation you are using.
static final int MISFIRE_INSTRUCTION_IGNORE_MISFIRE_POLICY
Scheduler
that the
Trigger
will never be evaluated for a misfire situation,
and that the scheduler will simply try to fire it as soon as it can,
and then update the Trigger as if it had fired at the proper time.
NOTE: if a trigger uses this instruction, and it has missed several of its scheduled firings, then several rapid firings may occur as the trigger attempt to catch back up to where it would have been. For example, a SimpleTrigger that fires every 15 seconds which has misfired for 5 minutes will fire 20 times once it gets the chance to fire.
static final int DEFAULT_PRIORITY
TriggerKey getKey()
JobKey getJobKey()
String getDescription()
Trigger
instance by
its creator (if any).String getCalendarName()
Calendar
associated with this
Trigger.null
if there is no associated Calendar.JobDataMap getJobDataMap()
JobDataMap
that is associated with the
Trigger
.
Changes made to this map during job execution are not re-persisted, and
in fact typically result in an IllegalStateException
.
int getPriority()
Trigger
acts as a tiebreaker such that if
two Trigger
s have the same scheduled fire time, then the
one with the higher priority will get first access to a worker
thread.
If not explicitly set, the default value is 5
.
DEFAULT_PRIORITY
boolean mayFireAgain()
Date getStartTime()
Trigger
should occur.Date getEndTime()
Trigger
should quit repeating -
regardless of any remaining repeats (based on the trigger's particular
repeat settings).getFinalFireTime()
Date getNextFireTime()
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.
Date getPreviousFireTime()
Trigger
fired.
If the trigger has not yet fired, null
will be returned.Date getFireTimeAfter(Date afterTime)
Trigger
will fire,
after the given time. If the trigger will not fire after the given time,
null
will be returned.Date getFinalFireTime()
Trigger
will fire, if
the Trigger will repeat indefinitely, null will be returned.
Note that the return time *may* be in the past.
int getMisfireInstruction()
Scheduler
should be given for
handling misfire situations for this Trigger
- the
concrete Trigger
type that you are using will have
defined a set of additional MISFIRE_INSTRUCTION_XXX
constants that may be set as this property's value.
If not explicitly set, the default value is MISFIRE_INSTRUCTION_SMART_POLICY
.
MISFIRE_INSTRUCTION_SMART_POLICY
,
SimpleTrigger
,
CronTrigger
TriggerBuilder<? extends Trigger> getTriggerBuilder()
TriggerBuilder
that is configured to produce a
Trigger
identical to this one.getScheduleBuilder()
ScheduleBuilder<? extends Trigger> getScheduleBuilder()
ScheduleBuilder
that is configured to produce a
schedule identical to this trigger's schedule.getTriggerBuilder()
boolean equals(Object other)
int compareTo(Trigger other)
Compare the next fire time of this Trigger
to that of
another by comparing their keys, or in other words, sorts them
according to the natural (i.e. alphabetical) order of their keys.
compareTo
in interface Comparable<Trigger>
Copyright 2001-2019, Terracotta, Inc.