public interface IScheduler
A Scheduler maintains a registry of
s and
IJobDetails. Once registered, the ITriggerScheduler
is responsible for executing Job s when their associated
Trigger s fire (when their scheduled time arrives).
Scheduler instances are produced by a
. A scheduler that has already been
created/initialized can be found and used through the same factory that
produced it. After a ISchedulerFactoryScheduler has been created, it is in
"stand-by" mode, and must have its start() method called before
it will fire any Jobs.
Job s are to be created by the 'client program', by defining a
class that implements the
interface. IJob objects are then created (also by
the client) to define a individual instances of the IJobDetailJob.
JobDetail instances can then be registered with the
Scheduler via the scheduleJob(JobDetail, Trigger)
or addJob(JobDetail, boolean) method.
Trigger s can then be defined to fire individual
Job instances based on given schedules.
SimpleTrigger s are most useful for one-time firings, or firing
at an exact moment in time, with N repeats with a given delay between them.
CronTrigger s allow scheduling based on time of day, day of
week, day of month, and month of year.
Job s and Trigger s have a name and group
associated with them, which should uniquely identify them within a single
. The 'group' feature may be useful for
creating logical groupings or categorizations of ISchedulerJobs s and
Triggerss. If you don't have need for assigning a group to a
given Jobs of Triggers, then you can use the
DEFAULT_GROUP constant defined on this interface.
Stored Job s can also be 'manually' triggered through the use of
the triggerJob(String jobName, String jobGroup) function.
Client programs may also be interested in the 'listener' interfaces that are
available from Quartz. The interface
provides notifications of IJobListenerJob executions. The
interface provides notifications of
ITriggerListenerTrigger firings. The
interface provides notifications of ISchedulerListenerScheduler events and errors.
Listeners can be associated with local schedulers through the
IListenerManager interface.
The setup/configuration of a Scheduler instance is very
customizable. Please consult the documentation distributed with Quartz.
IJob,
IJobDetail,
JobBuilder,
ITrigger,
TriggerBuilder,
IJobListener,
ITriggerListener,
ISchedulerListener| Modifier and Type | Field and Description |
|---|---|
static String |
DEFAULT_FAIL_OVER_GROUP
A constant
Trigger group name used internally by the scheduler
- clients should not use the value of this constant ("FAILED_OVER_JOBS")
for the name of a Trigger's group. |
static String |
DEFAULT_GROUP
A (possibly) useful constant that can be used for specifying the group that
Job and Trigger instances belong to. |
static String |
DEFAULT_RECOVERY_GROUP
A constant
Trigger group name used internally by the scheduler
- clients should not use the value of this constant ("RECOVERING_JOBS") for
the name of a Trigger's group. |
static String |
FAILED_JOB_ORIGINAL_TRIGGER_FIRETIME_IN_MILLISECONDS
A constant
JobDataMap key that can be used to retrieve the
fire time of the original Trigger from a recovery trigger's
data map in the case of a job recovering after a failed scheduler instance. |
static String |
FAILED_JOB_ORIGINAL_TRIGGER_GROUP
A constant
JobDataMap key that can be used to retrieve the
group of the original Trigger from a recovery trigger's data
map in the case of a job recovering after a failed scheduler instance. |
static String |
FAILED_JOB_ORIGINAL_TRIGGER_NAME
A constant
JobDataMap key that can be used to retrieve the
name of the original Trigger from a recovery trigger's data
map in the case of a job recovering after a failed scheduler instance. |
static String |
FAILED_JOB_ORIGINAL_TRIGGER_SCHEDULED_FIRETIME_IN_MILLISECONDS
A constant
JobDataMap key that can be used to retrieve the
scheduled fire time of the original Trigger from a recovery
trigger's data map in the case of a job recovering after a failed scheduler
instance. |
| Modifier and Type | Method and Description |
|---|---|
void |
addCalendar(String calName,
ICalendar calendar,
boolean replace,
boolean updateTriggers)
Add (register) the given
Calendar to the Scheduler. |
void |
addJob(IJobDetail jobDetail,
boolean replace)
Add the given
Job to the Scheduler - with no associated
Trigger. |
void |
addJob(IJobDetail jobDetail,
boolean replace,
boolean storeNonDurableWhileAwaitingScheduling)
Add the given
Job to the Scheduler - with no associated
Trigger. |
boolean |
checkExists(JobKey jobKey)
Determine whether a
IJob with the given identifier already exists
within the scheduler. |
boolean |
checkExists(TriggerKey triggerKey)
Determine whether a
ITrigger with the given identifier already
exists within the scheduler. |
void |
clear()
Clears (deletes!)
|
boolean |
deleteCalendar(String calName)
Delete the identified
Calendar from the Scheduler. |
boolean |
deleteJob(JobKey jobKey)
Delete the identified
Job from the Scheduler - and any
associated Triggers. |
boolean |
deleteJobs(List<JobKey> jobKeys)
Delete the identified
Jobs from the Scheduler - and any
associated Triggers. |
ICalendar |
getCalendar(String calName)
Get the
instance with the given name. |
com.helger.commons.collection.impl.ICommonsList<String> |
getCalendarNames()
Get the names of all registered
. |
SchedulerContext |
getContext()
Returns the
SchedulerContext of the Scheduler. |
com.helger.commons.collection.impl.ICommonsList<IJobExecutionContext> |
getCurrentlyExecutingJobs()
Return a list of
JobExecutionContext objects that represent
all currently executing Jobs in this Scheduler instance. |
IJobDetail |
getJobDetail(JobKey jobKey)
Get the
for the Job instance
with the given key. |
com.helger.commons.collection.impl.ICommonsList<String> |
getJobGroupNames()
Get the names of all known
groups. |
com.helger.commons.collection.impl.ICommonsSet<JobKey> |
getJobKeys(GroupMatcher<JobKey> matcher)
Get the keys of all the
in the matching groups. |
IListenerManager |
getListenerManager()
Get a reference to the scheduler's
ListenerManager, through
which listeners may be registered. |
SchedulerMetaData |
getMetaData()
Get a
SchedulerMetaData object describing the settings and
capabilities of the scheduler instance. |
com.helger.commons.collection.impl.ICommonsSet<String> |
getPausedTriggerGroups()
Get the names of all
groups that are paused. |
String |
getSchedulerInstanceId()
Returns the instance Id of the
Scheduler. |
String |
getSchedulerName()
Returns the name of the
Scheduler. |
ITrigger |
getTrigger(TriggerKey triggerKey)
Get the
instance with the given key. |
com.helger.commons.collection.impl.ICommonsList<String> |
getTriggerGroupNames()
Get the names of all known
groups. |
com.helger.commons.collection.impl.ICommonsSet<TriggerKey> |
getTriggerKeys(GroupMatcher<TriggerKey> matcher)
Get the names of all the
in the given group. |
com.helger.commons.collection.impl.ICommonsList<? extends ITrigger> |
getTriggersOfJob(JobKey jobKey)
Get all
s that are associated with the
identified . |
ITrigger.ETriggerState |
getTriggerState(TriggerKey triggerKey)
Get the current state of the identified
. |
boolean |
interrupt(JobKey jobKey)
Request the interruption, within this Scheduler instance, of all currently
executing instances of the identified
Job, which must be an
implementor of the InterruptableJob interface. |
boolean |
interrupt(String fireInstanceId)
Request the interruption, within this Scheduler instance, of the identified
executing
Job instance, which must be an implementor of the
InterruptableJob interface. |
boolean |
isInStandbyMode()
Reports whether the
Scheduler is in stand-by mode. |
boolean |
isShutdown()
Reports whether the
Scheduler has been shutdown. |
boolean |
isStarted()
Whether the scheduler has been started.
|
void |
pauseAll()
Pause all triggers - similar to calling
pauseTriggerGroup(group) on every group, however, after using
this method resumeAll() must be called to clear the
scheduler's state of 'remembering' that all new triggers will be paused as
they are added. |
void |
pauseJob(JobKey jobKey)
Pause the
with the given
key - by pausing all of its current Triggers. |
void |
pauseJobs(GroupMatcher<JobKey> matcher)
Pause all of the
in the
matching groups - by pausing all of their Triggers. |
void |
pauseTrigger(TriggerKey triggerKey)
Pause the
with the given key. |
void |
pauseTriggers(GroupMatcher<TriggerKey> matcher)
Pause all of the
in the groups matching. |
Date |
rescheduleJob(TriggerKey triggerKey,
ITrigger newTrigger)
Remove (delete) the
with
the given key, and store the new given one - which must be associated with
the same job (the new trigger must have the job name & group specified)
- however, the new trigger need not have the same name as the old trigger. |
void |
resumeAll()
Resume (un-pause) all triggers - similar to calling
resumeTriggerGroup(group) on every group. |
void |
resumeJob(JobKey jobKey)
Resume (un-pause) the
with the given key. |
void |
resumeJobs(GroupMatcher<JobKey> matcher)
Resume (un-pause) all of the
in matching groups. |
void |
resumeTrigger(TriggerKey triggerKey)
Resume (un-pause) the
with the given key. |
void |
resumeTriggers(GroupMatcher<TriggerKey> matcher)
Resume (un-pause) all of the
in matching
groups. |
Date |
scheduleJob(IJobDetail jobDetail,
ITrigger trigger)
Add the given
to the
Scheduler, and associate the given with it. |
void |
scheduleJob(IJobDetail jobDetail,
Set<? extends ITrigger> triggersForJob,
boolean replace)
Schedule the given job with the related set of triggers.
|
Date |
scheduleJob(ITrigger trigger)
|
void |
scheduleJobs(Map<IJobDetail,Set<? extends ITrigger>> triggersAndJobs,
boolean replace)
Schedule all of the given jobs with the related set of triggers.
|
void |
setJobFactory(IJobFactory factory)
Set the
JobFactory that will be responsible for producing
instances of Job classes. |
void |
shutdown()
Halts the
Scheduler's firing of
, and cleans up all resources associated with
the Scheduler. |
void |
shutdown(boolean waitForJobsToComplete)
Halts the
Scheduler's firing of
, and cleans up all resources associated with
the Scheduler. |
void |
standby()
Temporarily halts the
Scheduler's firing of
. |
void |
start()
Starts the
Scheduler's threads that fire
. |
void |
startDelayed(int seconds)
Calls {#start()} after the indicated number of seconds.
|
void |
triggerJob(JobKey jobKey)
Trigger the identified
(execute it now). |
void |
triggerJob(JobKey jobKey,
JobDataMap data)
Trigger the identified
(execute it now). |
boolean |
unscheduleJob(TriggerKey triggerKey)
Remove the indicated
from the scheduler. |
boolean |
unscheduleJobs(List<TriggerKey> triggerKeys)
Remove all of the indicated
s from the
scheduler. |
static final String DEFAULT_GROUP
Job and Trigger instances belong to.static final String DEFAULT_RECOVERY_GROUP
Trigger group name used internally by the scheduler
- clients should not use the value of this constant ("RECOVERING_JOBS") for
the name of a Trigger's group.static final String DEFAULT_FAIL_OVER_GROUP
Trigger group name used internally by the scheduler
- clients should not use the value of this constant ("FAILED_OVER_JOBS")
for the name of a Trigger's group.static final String FAILED_JOB_ORIGINAL_TRIGGER_NAME
JobDataMap key that can be used to retrieve the
name of the original Trigger from a recovery trigger's data
map in the case of a job recovering after a failed scheduler instance.static final String FAILED_JOB_ORIGINAL_TRIGGER_GROUP
JobDataMap key that can be used to retrieve the
group of the original Trigger from a recovery trigger's data
map in the case of a job recovering after a failed scheduler instance.static final String FAILED_JOB_ORIGINAL_TRIGGER_FIRETIME_IN_MILLISECONDS
JobDataMap key that can be used to retrieve the
fire time of the original Trigger from a recovery trigger's
data map in the case of a job recovering after a failed scheduler instance.
Note that this is the time the original firing actually occurred, which may be different from the scheduled fire time - as a trigger doesn't always fire exactly on time.
static final String FAILED_JOB_ORIGINAL_TRIGGER_SCHEDULED_FIRETIME_IN_MILLISECONDS
JobDataMap key that can be used to retrieve the
scheduled fire time of the original Trigger from a recovery
trigger's data map in the case of a job recovering after a failed scheduler
instance.
Note that this is the time the original firing was scheduled for, which may be different from the actual firing time - as a trigger doesn't always fire exactly on time.
String getSchedulerName() throws SchedulerException
Scheduler.SchedulerExceptionString getSchedulerInstanceId() throws SchedulerException
Scheduler.SchedulerExceptionSchedulerContext getContext() throws SchedulerException
SchedulerContext of the Scheduler.SchedulerExceptionvoid start()
throws SchedulerException
Scheduler's threads that fire
ITriggers. When a scheduler is first created it is in
"stand-by" mode, and will not fire triggers. The scheduler can also be put
into stand-by mode by calling the standby() method.
The misfire/recovery process will be started, if it is the initial call to this method on this scheduler instance.
SchedulerException - if shutdown() has been called, or there is an error
within the Scheduler.startDelayed(int),
standby(),
shutdown()void startDelayed(int seconds)
throws SchedulerException
SchedulerException - if shutdown() has been called, or there is an error
within the Scheduler.start(),
standby(),
shutdown()boolean isStarted()
throws SchedulerException
Note: This only reflects whether has ever
been called on this Scheduler, so it will return start()true even if
the Scheduler is currently in standby mode or has been since
shutdown.
SchedulerExceptionstart(),
isShutdown(),
isInStandbyMode()void standby()
throws SchedulerException
Scheduler's firing of
ITriggers.
When start() is called (to bring the scheduler out of stand-by
mode), trigger misfire instructions will NOT be applied during the
execution of the start() method - any misfires will be
detected immediately afterward (by the JobStore's normal
process).
The scheduler is not destroyed, and can be re-started at any time.
SchedulerExceptionstart(),
pauseAll()boolean isInStandbyMode()
throws SchedulerException
Scheduler is in stand-by mode.SchedulerExceptionstandby(),
start()void shutdown()
throws SchedulerException
Scheduler's firing of
ITriggers, and cleans up all resources associated with
the Scheduler. Equivalent to shutdown(false).
The scheduler cannot be re-started.
SchedulerExceptionshutdown(boolean)void shutdown(boolean waitForJobsToComplete)
throws SchedulerException
Scheduler's firing of
ITriggers, and cleans up all resources associated with
the Scheduler.
The scheduler cannot be re-started.
waitForJobsToComplete - if true the scheduler will not allow this method to
return until all currently executing jobs have completed.SchedulerExceptionshutdown()boolean isShutdown()
throws SchedulerException
Scheduler has been shutdown.SchedulerExceptionSchedulerMetaData getMetaData() throws SchedulerException
SchedulerMetaData object describing the settings and
capabilities of the scheduler instance.
Note that the data returned is an 'instantaneous' snap-shot, and that as soon as it's returned, the meta data values may be different.
SchedulerExceptioncom.helger.commons.collection.impl.ICommonsList<IJobExecutionContext> getCurrentlyExecutingJobs() throws SchedulerException
JobExecutionContext objects that represent
all currently executing Jobs in this Scheduler instance.
This method is not cluster aware. That is, it will only return Jobs currently executing in this Scheduler instance, not across the entire cluster.
Note that the list returned is an 'instantaneous' snap-shot, and that as
soon as it's returned, the true list of executing jobs may be different.
Also please read the doc associated with JobExecutionContext-
especially if you're using RMI.
SchedulerExceptionIJobExecutionContextvoid setJobFactory(IJobFactory factory) throws SchedulerException
JobFactory that will be responsible for producing
instances of Job classes.
JobFactories may be of use to those wishing to have their application
produce Job instances via some special mechanism, such as to
give the opportunity for dependency injection.
SchedulerExceptionIJobFactoryIListenerManager getListenerManager() throws SchedulerException
ListenerManager, through
which listeners may be registered.ListenerManagerSchedulerException - if the scheduler is not localIListenerManager,
IJobListener,
ITriggerListener,
ISchedulerListenerDate scheduleJob(IJobDetail jobDetail, ITrigger trigger) throws SchedulerException
IJobDetail to the
Scheduler, and associate the given ITrigger with it.
If the given Trigger does not reference any Job, then it will
be set to reference the Job passed with it into this method.
SchedulerException - if the Job or Trigger cannot be added to the Scheduler, or there is
an internal Scheduler error.Date scheduleJob(ITrigger trigger) throws SchedulerException
SchedulerException - if the indicated Job does not exist, or the Trigger cannot be added
to the Scheduler, or there is an internal Scheduler error.void scheduleJobs(Map<IJobDetail,Set<? extends ITrigger>> triggersAndJobs, boolean replace) throws SchedulerException
If any of the given jobs or triggers already exist (or more specifically, if the keys are not unique) and the replace parameter is not set to true then an exception will be thrown.
ObjectAlreadyExistsException - if the job/trigger keys are not unique and the replace flag is not
set to true.SchedulerExceptionvoid scheduleJob(IJobDetail jobDetail, Set<? extends ITrigger> triggersForJob, boolean replace) throws SchedulerException
If any of the given job or triggers already exist (or more specifically, if the keys are not unique) and the replace parameter is not set to true then an exception will be thrown.
ObjectAlreadyExistsException - if the job/trigger keys are not unique and the replace flag is not
set to true.SchedulerExceptionboolean unscheduleJob(TriggerKey triggerKey) throws SchedulerException
ITrigger from the scheduler.
If the related job does not have any other triggers, and the job is not durable, then the job will also be deleted.
SchedulerExceptionboolean unscheduleJobs(List<TriggerKey> triggerKeys) throws SchedulerException
ITriggers from the
scheduler.
If the related job does not have any other triggers, and the job is not durable, then the job will also be deleted.
Note that while this bulk operation is likely more efficient than invoking
unscheduleJob(TriggerKey triggerKey) several times, it may
have the adverse affect of holding data locks for a single long duration of
time (rather than lots of small durations of time).
SchedulerExceptionDate rescheduleJob(TriggerKey triggerKey, ITrigger newTrigger) throws SchedulerException
ITrigger with
the given key, and store the new given one - which must be associated with
the same job (the new trigger must have the job name & group specified)
- however, the new trigger need not have the same name as the old trigger.triggerKey - identity of the trigger to replacenewTrigger - The new ITrigger to be stored.null if a Trigger with the given name
& group was not found and removed from the store (and the new
trigger is therefore not stored), otherwise the first fire time of
the newly scheduled trigger is returned.SchedulerExceptionvoid addJob(IJobDetail jobDetail, boolean replace) throws SchedulerException
Job to the Scheduler - with no associated
Trigger. The Job will be 'dormant' until it is
scheduled with a Trigger, or
Scheduler.triggerJob() is called for it.
The Job must by definition be 'durable', if it is not,
SchedulerException will be thrown.
SchedulerException - if there is an internal Scheduler error, or if the Job is not
durable, or a Job with the same name already exists, and
replace is false.addJob(IJobDetail, boolean, boolean)void addJob(IJobDetail jobDetail, boolean replace, boolean storeNonDurableWhileAwaitingScheduling) throws SchedulerException
Job to the Scheduler - with no associated
Trigger. The Job will be 'dormant' until it is
scheduled with a Trigger, or
Scheduler.triggerJob() is called for it.
With the storeNonDurableWhileAwaitingScheduling parameter set
to true, a non-durable job can be stored. Once it is
scheduled, it will resume normal non-durable behavior (i.e. be deleted once
there are no remaining associated triggers).
SchedulerException - if there is an internal Scheduler error, or if the Job is not
durable, or a Job with the same name already exists, and
replace is false.boolean deleteJob(JobKey jobKey) throws SchedulerException
Job from the Scheduler - and any
associated Triggers.SchedulerException - if there is an internal Scheduler error.boolean deleteJobs(List<JobKey> jobKeys) throws SchedulerException
Jobs from the Scheduler - and any
associated Triggers.
Note that while this bulk operation is likely more efficient than invoking
deleteJob(JobKey jobKey) several times, it may have the
adverse affect of holding data locks for a single long duration of time
(rather than lots of small durations of time).
SchedulerException - if there is an internal Scheduler error.void triggerJob(JobKey jobKey) throws SchedulerException
IJobDetail
(execute it now).SchedulerExceptionvoid triggerJob(JobKey jobKey, JobDataMap data) throws SchedulerException
IJobDetail
(execute it now).data - the (possibly null) JobDataMap to be associated with
the trigger that fires the job immediately.SchedulerExceptionvoid pauseJob(JobKey jobKey) throws SchedulerException
IJobDetail with the given
key - by pausing all of its current Triggers.SchedulerExceptionresumeJob(JobKey)void pauseJobs(GroupMatcher<JobKey> matcher) throws SchedulerException
IJobDetails in the
matching groups - by pausing all of their Triggers.
The Scheduler will "remember" the groups paused, and impose the pause on any new jobs that are added to any of those groups until it is resumed.
NOTE: There is a limitation that only exactly matched groups can be remembered as paused. For example, if there are pre-existing job in groups "aaa" and "bbb" and a matcher is given to pause groups that start with "a" then the group "aaa" will be remembered as paused and any subsequently added jobs in group "aaa" will be paused, however if a job is added to group "axx" it will not be paused, as "axx" wasn't known at the time the "group starts with a" matcher was applied. HOWEVER, if there are pre-existing groups "aaa" and "bbb" and a matcher is given to pause the group "axx" (with a group equals matcher) then no jobs will be paused, but it will be remembered that group "axx" is paused and later when a job is added in that group, it will become paused.
matcher - The matcher to evaluate against know groupsSchedulerException - On errorresumeJobs(com.helger.quartz.impl.matchers.GroupMatcher)void pauseTrigger(TriggerKey triggerKey) throws SchedulerException
ITrigger with the given key.SchedulerExceptionresumeTrigger(TriggerKey)void pauseTriggers(GroupMatcher<TriggerKey> matcher) throws SchedulerException
ITriggers in the groups matching.
The Scheduler will "remember" all the groups paused, and impose the pause on any new triggers that are added to any of those groups until it is resumed.
NOTE: There is a limitation that only exactly matched groups can be remembered as paused. For example, if there are pre-existing triggers in groups "aaa" and "bbb" and a matcher is given to pause groups that start with "a" then the group "aaa" will be remembered as paused and any subsequently added triggers in that group be paused, however if a trigger is added to group "axx" it will not be paused, as "axx" wasn't known at the time the "group starts with a" matcher was applied. HOWEVER, if there are pre-existing groups "aaa" and "bbb" and a matcher is given to pause the group "axx" (with a group equals matcher) then no triggers will be paused, but it will be remembered that group "axx" is paused and later when a trigger is added in that group, it will become paused.
matcher - The matcher to evaluate against know groupsSchedulerExceptionresumeTriggers(com.helger.quartz.impl.matchers.GroupMatcher)void resumeJob(JobKey jobKey) throws SchedulerException
IJobDetail
with the given key.
If any of the Job'sTrigger s missed one or more
fire-times, then the Trigger's misfire instruction will be
applied.
SchedulerExceptionpauseJob(JobKey)void resumeJobs(GroupMatcher<JobKey> matcher) throws SchedulerException
IJobDetails in matching groups.
If any of the Job s had Trigger s that missed one
or more fire-times, then the Trigger's misfire instruction
will be applied.
matcher - The matcher to evaluate against known paused groupsSchedulerException - On errorpauseJobs(GroupMatcher)void resumeTrigger(TriggerKey triggerKey) throws SchedulerException
ITrigger with the given key.
If the Trigger missed one or more fire-times, then the
Trigger's misfire instruction will be applied.
SchedulerExceptionpauseTrigger(TriggerKey)void resumeTriggers(GroupMatcher<TriggerKey> matcher) throws SchedulerException
ITriggers in matching
groups.
If any Trigger missed one or more fire-times, then the
Trigger's misfire instruction will be applied.
matcher - The matcher to evaluate against know paused groupsSchedulerException - On errorpauseTriggers(com.helger.quartz.impl.matchers.GroupMatcher)void pauseAll()
throws SchedulerException
pauseTriggerGroup(group) on every group, however, after using
this method resumeAll() must be called to clear the
scheduler's state of 'remembering' that all new triggers will be paused as
they are added.
When resumeAll() is called (to un-pause), trigger misfire
instructions WILL be applied.
void resumeAll()
throws SchedulerException
resumeTriggerGroup(group) on every group.
If any Trigger missed one or more fire-times, then the
Trigger's misfire instruction will be applied.
SchedulerExceptionpauseAll()com.helger.commons.collection.impl.ICommonsList<String> getJobGroupNames() throws SchedulerException
IJobDetail groups.SchedulerExceptioncom.helger.commons.collection.impl.ICommonsSet<JobKey> getJobKeys(GroupMatcher<JobKey> matcher) throws SchedulerException
IJobDetails
in the matching groups.matcher - Matcher to evaluate against known groupsSchedulerException - On errorcom.helger.commons.collection.impl.ICommonsList<? extends ITrigger> getTriggersOfJob(JobKey jobKey) throws SchedulerException
ITrigger s that are associated with the
identified IJobDetail.
The returned Trigger objects will be snap-shots of the actual stored
triggers. If you wish to modify a trigger, you must re-store the trigger
afterward (e.g. see rescheduleJob(TriggerKey, ITrigger)).
SchedulerExceptioncom.helger.commons.collection.impl.ICommonsList<String> getTriggerGroupNames() throws SchedulerException
ITrigger groups.SchedulerExceptioncom.helger.commons.collection.impl.ICommonsSet<TriggerKey> getTriggerKeys(GroupMatcher<TriggerKey> matcher) throws SchedulerException
ITriggers in the given group.matcher - Matcher to evaluate against known groupsSchedulerException - On errorcom.helger.commons.collection.impl.ICommonsSet<String> getPausedTriggerGroups() throws SchedulerException
ITrigger groups that are paused.SchedulerExceptionIJobDetail getJobDetail(JobKey jobKey) throws SchedulerException
IJobDetail for the Job instance
with the given key.
The returned JobDetail object will be a snap-shot of the actual stored
JobDetail. If you wish to modify the JobDetail, you must re-store the
JobDetail afterward (e.g. see addJob(IJobDetail, boolean)).
SchedulerExceptionITrigger getTrigger(TriggerKey triggerKey) throws SchedulerException
ITrigger instance with the given key.
The returned Trigger object will be a snap-shot of the actual stored
trigger. If you wish to modify the trigger, you must re-store the trigger
afterward (e.g. see rescheduleJob(TriggerKey, ITrigger)).
SchedulerExceptionITrigger.ETriggerState getTriggerState(TriggerKey triggerKey) throws SchedulerException
ITrigger.SchedulerExceptionITrigger.ETriggerStatevoid addCalendar(String calName, ICalendar calendar, boolean replace, boolean updateTriggers) throws SchedulerException
Calendar to the Scheduler.updateTriggers - whether or not to update existing triggers that referenced the
already existing calendar so that they are 'correct' based on the
new trigger.SchedulerException - if there is an internal Scheduler error, or a Calendar with the
same name already exists, and replace is
false.boolean deleteCalendar(String calName) throws SchedulerException
Calendar from the Scheduler.
If removal of the Calendar would result in
Triggers pointing to non-existent calendars, then a
SchedulerException will be thrown.
SchedulerException - if there is an internal Scheduler error, or one or more triggers
reference the calendarICalendar getCalendar(String calName) throws SchedulerException
ICalendar instance with the given name.SchedulerExceptioncom.helger.commons.collection.impl.ICommonsList<String> getCalendarNames() throws SchedulerException
ICalendars.SchedulerExceptionboolean interrupt(JobKey jobKey) throws UnableToInterruptJobException
Job, which must be an
implementor of the InterruptableJob interface.
If more than one instance of the identified job is currently executing, the
InterruptableJob#interrupt() method will be called on each
instance. However, there is a limitation that in the case that
interrupt() on one instances throws an exception, all
remaining instances (that have not yet been interrupted) will not have
their interrupt() method called.
This method is not cluster aware. That is, it will only interrupt instances of the identified InterruptableJob currently executing in this Scheduler instance, not across the entire cluster.
UnableToInterruptJobException - if the job does not implement InterruptableJob, or
there is an exception while interrupting the job.IInterruptableJob.interrupt(),
getCurrentlyExecutingJobs(),
interrupt(String)boolean interrupt(String fireInstanceId) throws UnableToInterruptJobException
Job instance, which must be an implementor of the
InterruptableJob interface.
This method is not cluster aware. That is, it will only interrupt instances of the identified InterruptableJob currently executing in this Scheduler instance, not across the entire cluster.
fireInstanceId - the unique identifier of the job instance to be interrupted (see
IJobExecutionContext.getFireInstanceId()UnableToInterruptJobException - if the job does not implement InterruptableJob, or
there is an exception while interrupting the job.IInterruptableJob.interrupt(),
getCurrentlyExecutingJobs(),
IJobExecutionContext.getFireInstanceId(),
interrupt(JobKey)boolean checkExists(JobKey jobKey) throws SchedulerException
IJob with the given identifier already exists
within the scheduler.jobKey - the identifier to check forSchedulerExceptionboolean checkExists(TriggerKey triggerKey) throws SchedulerException
ITrigger with the given identifier already
exists within the scheduler.triggerKey - the identifier to check forSchedulerExceptionvoid clear()
throws SchedulerException
SchedulerExceptionCopyright © 2016–2021 Philip Helger. All rights reserved.