org.quartz.impl
Class StdScheduler

java.lang.Object
  extended by org.quartz.impl.StdScheduler
All Implemented Interfaces:
Scheduler

public class StdScheduler
extends java.lang.Object
implements Scheduler

An implementation of the Scheduler interface that directly proxies all method calls to the equivalent call on a given QuartzScheduler instance.

Author:
James House
See Also:
Scheduler, QuartzScheduler, org.quartz.core.SchedulingContext

Field Summary
 
Fields inherited from interface org.quartz.Scheduler
DEFAULT_FAIL_OVER_GROUP, DEFAULT_GROUP, DEFAULT_RECOVERY_GROUP, FAILED_JOB_ORIGINAL_TRIGGER_FIRETIME_IN_MILLISECONDS, FAILED_JOB_ORIGINAL_TRIGGER_GROUP, FAILED_JOB_ORIGINAL_TRIGGER_NAME
 
Constructor Summary
StdScheduler(QuartzScheduler sched)
           Construct a StdScheduler instance to proxy the given QuartzScheduler instance, and with the given SchedulingContext.
 
Method Summary
 void addCalendar(java.lang.String calName, Calendar calendar, boolean replace, boolean updateTriggers)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 void addJob(JobDetail jobDetail, boolean replace)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 boolean checkExists(JobKey jobKey)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 boolean checkExists(TriggerKey triggerKey)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 void clear()
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 boolean deleteCalendar(java.lang.String calName)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 boolean deleteJob(JobKey jobKey)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 boolean deleteJobs(java.util.List<JobKey> jobKeys)
          Delete the identified Jobs from the Scheduler - and any associated Triggers.
 Calendar getCalendar(java.lang.String calName)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 java.util.List<java.lang.String> getCalendarNames()
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 SchedulerContext getContext()
           Returns the SchedulerContext of the Scheduler.
 java.util.List<JobExecutionContext> getCurrentlyExecutingJobs()
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 JobDetail getJobDetail(JobKey jobKey)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 java.util.List<java.lang.String> getJobGroupNames()
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 java.util.Set<JobKey> getJobKeys(GroupMatcher<JobKey> matcher)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 ListenerManager 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.
 java.util.Set getPausedTriggerGroups()
          Get the names of all Trigger groups that are paused.
 java.lang.String getSchedulerInstanceId()
           Returns the instance Id of the Scheduler.
 java.lang.String getSchedulerName()
           Returns the name of the Scheduler.
 Trigger getTrigger(TriggerKey triggerKey)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 java.util.List<java.lang.String> getTriggerGroupNames()
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 java.util.Set<TriggerKey> getTriggerKeys(GroupMatcher<TriggerKey> matcher)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 java.util.List<? extends Trigger> getTriggersOfJob(JobKey jobKey)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 Trigger.TriggerState getTriggerState(TriggerKey triggerKey)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 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 isInStandbyMode()
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 boolean isShutdown()
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 boolean isStarted()
          Whether the scheduler has been started.
 void pauseAll()
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 void pauseJob(JobKey jobKey)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 void pauseJobs(GroupMatcher<JobKey> matcher)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 void pauseTrigger(TriggerKey triggerKey)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 void pauseTriggers(GroupMatcher<TriggerKey> matcher)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 java.util.Date rescheduleJob(TriggerKey triggerKey, Trigger newTrigger)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 void resumeAll()
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 void resumeJob(JobKey jobKey)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 void resumeJobs(GroupMatcher<JobKey> matcher)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 void resumeTrigger(TriggerKey triggerKey)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 void resumeTriggers(GroupMatcher<TriggerKey> matcher)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 java.util.Date scheduleJob(JobDetail jobDetail, Trigger trigger)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 java.util.Date scheduleJob(Trigger trigger)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 void scheduleJobs(java.util.Map<JobDetail,java.util.List<Trigger>> triggersAndJobs, boolean replace)
          Schedule all of the given jobs with the related set of triggers.
 void setJobFactory(JobFactory factory)
          Set the JobFactory that will be responsible for producing instances of Job classes.
 void shutdown()
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 void shutdown(boolean waitForJobsToComplete)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 void standby()
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 void start()
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 void startDelayed(int seconds)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 void triggerJob(JobKey jobKey)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 void triggerJob(JobKey jobKey, JobDataMap data)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 boolean unscheduleJob(TriggerKey triggerKey)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 boolean unscheduleJobs(java.util.List<TriggerKey> triggerKeys)
          Remove all of the indicated Triggers from the scheduler.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StdScheduler

public StdScheduler(QuartzScheduler sched)

Construct a StdScheduler instance to proxy the given QuartzScheduler instance, and with the given SchedulingContext.

Method Detail

getSchedulerName

public java.lang.String getSchedulerName()

Returns the name of the Scheduler.

Specified by:
getSchedulerName in interface Scheduler

getSchedulerInstanceId

public java.lang.String getSchedulerInstanceId()

Returns the instance Id of the Scheduler.

Specified by:
getSchedulerInstanceId in interface Scheduler

getMetaData

public SchedulerMetaData getMetaData()
Description copied from interface: Scheduler
Get a 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.

Specified by:
getMetaData in interface Scheduler

getContext

public SchedulerContext getContext()
                            throws SchedulerException

Returns the SchedulerContext of the Scheduler.

Specified by:
getContext in interface Scheduler
Throws:
SchedulerException

start

public void start()
           throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
start in interface Scheduler
Throws:
SchedulerException - if shutdown() has been called, or there is an error within the Scheduler.
See Also:
Scheduler.startDelayed(int), Scheduler.standby(), Scheduler.shutdown()

startDelayed

public void startDelayed(int seconds)
                  throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
startDelayed in interface Scheduler
Throws:
SchedulerException - if shutdown() has been called, or there is an error within the Scheduler.
See Also:
Scheduler.start(), Scheduler.standby(), Scheduler.shutdown()

standby

public void standby()

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
standby in interface Scheduler
See Also:
Scheduler.start(), Scheduler.pauseAll()

isStarted

public boolean isStarted()
Whether the scheduler has been started.

Note: This only reflects whether start() has ever been called on this Scheduler, so it will return true even if the Scheduler is currently in standby mode or has been since shutdown.

Specified by:
isStarted in interface Scheduler
See Also:
start(), isShutdown(), isInStandbyMode()

isInStandbyMode

public boolean isInStandbyMode()

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
isInStandbyMode in interface Scheduler
See Also:
Scheduler.standby(), Scheduler.start()

shutdown

public void shutdown()

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
shutdown in interface Scheduler
See Also:
Scheduler.shutdown(boolean)

shutdown

public void shutdown(boolean waitForJobsToComplete)

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
shutdown in interface Scheduler
Parameters:
waitForJobsToComplete - if true the scheduler will not allow this method to return until all currently executing jobs have completed.
See Also:
Scheduler.shutdown()

isShutdown

public boolean isShutdown()

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
isShutdown in interface Scheduler

getCurrentlyExecutingJobs

public java.util.List<JobExecutionContext> getCurrentlyExecutingJobs()

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
getCurrentlyExecutingJobs in interface Scheduler
See Also:
JobExecutionContext

clear

public void clear()
           throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
clear in interface Scheduler
Throws:
SchedulerException

scheduleJob

public java.util.Date scheduleJob(JobDetail jobDetail,
                                  Trigger trigger)
                           throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
scheduleJob in interface Scheduler
Throws:
SchedulerException - if the Job or Trigger cannot be added to the Scheduler, or there is an internal Scheduler error.

scheduleJob

public java.util.Date scheduleJob(Trigger trigger)
                           throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
scheduleJob in interface Scheduler
Throws:
SchedulerException - if the indicated Job does not exist, or the Trigger cannot be added to the Scheduler, or there is an internal Scheduler error.

addJob

public void addJob(JobDetail jobDetail,
                   boolean replace)
            throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
addJob in interface Scheduler
Throws:
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.

deleteJobs

public boolean deleteJobs(java.util.List<JobKey> jobKeys)
                   throws SchedulerException
Description copied from interface: Scheduler
Delete the identified 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).

Specified by:
deleteJobs in interface Scheduler
Returns:
true if all of the Jobs were found and deleted, false if one or more were not deleted.
Throws:
SchedulerException - if there is an internal Scheduler error.

scheduleJobs

public void scheduleJobs(java.util.Map<JobDetail,java.util.List<Trigger>> triggersAndJobs,
                         boolean replace)
                  throws SchedulerException
Description copied from interface: Scheduler
Schedule all of the given jobs with the related set of triggers.

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.

Specified by:
scheduleJobs in interface Scheduler
Throws:
ObjectAlreadyExistsException - if the job/trigger keys are not unique and the replace flag is not set to true.
SchedulerException

unscheduleJobs

public boolean unscheduleJobs(java.util.List<TriggerKey> triggerKeys)
                       throws SchedulerException
Description copied from interface: Scheduler
Remove all of the indicated Triggers 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).

Specified by:
unscheduleJobs in interface Scheduler
Throws:
SchedulerException

deleteJob

public boolean deleteJob(JobKey jobKey)
                  throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
deleteJob in interface Scheduler
Returns:
true if the Job was found and deleted.
Throws:
SchedulerException - if there is an internal Scheduler error.

unscheduleJob

public boolean unscheduleJob(TriggerKey triggerKey)
                      throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
unscheduleJob in interface Scheduler
Throws:
SchedulerException

rescheduleJob

public java.util.Date rescheduleJob(TriggerKey triggerKey,
                                    Trigger newTrigger)
                             throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
rescheduleJob in interface Scheduler
Parameters:
triggerKey - identity of the trigger to replace
newTrigger - The new Trigger to be stored.
Returns:
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.
Throws:
SchedulerException

triggerJob

public void triggerJob(JobKey jobKey)
                throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
triggerJob in interface Scheduler
Throws:
SchedulerException

triggerJob

public void triggerJob(JobKey jobKey,
                       JobDataMap data)
                throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
triggerJob in interface Scheduler
data - the (possibly null) JobDataMap to be associated with the trigger that fires the job immediately.
Throws:
SchedulerException

pauseTrigger

public void pauseTrigger(TriggerKey triggerKey)
                  throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
pauseTrigger in interface Scheduler
Throws:
SchedulerException
See Also:
Scheduler.resumeTrigger(TriggerKey)

pauseTriggers

public void pauseTriggers(GroupMatcher<TriggerKey> matcher)
                   throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
pauseTriggers in interface Scheduler
Parameters:
matcher - The matcher to evaluate against know groups
Throws:
SchedulerException
See Also:
Scheduler.resumeTriggers(org.quartz.impl.matchers.GroupMatcher)

pauseJob

public void pauseJob(JobKey jobKey)
              throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
pauseJob in interface Scheduler
Throws:
SchedulerException
See Also:
Scheduler.resumeJob(JobKey)

getPausedTriggerGroups

public java.util.Set getPausedTriggerGroups()
                                     throws SchedulerException
Description copied from interface: Scheduler
Get the names of all Trigger groups that are paused.

Specified by:
getPausedTriggerGroups in interface Scheduler
Throws:
SchedulerException
See Also:
Scheduler.getPausedTriggerGroups()

pauseJobs

public void pauseJobs(GroupMatcher<JobKey> matcher)
               throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
pauseJobs in interface Scheduler
Parameters:
matcher - The matcher to evaluate against know groups
Throws:
SchedulerException - On error
See Also:
Scheduler.resumeJobs(org.quartz.impl.matchers.GroupMatcher)

resumeTrigger

public void resumeTrigger(TriggerKey triggerKey)
                   throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
resumeTrigger in interface Scheduler
Throws:
SchedulerException
See Also:
Scheduler.pauseTrigger(TriggerKey)

resumeTriggers

public void resumeTriggers(GroupMatcher<TriggerKey> matcher)
                    throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
resumeTriggers in interface Scheduler
Parameters:
matcher - The matcher to evaluate against know paused groups
Throws:
SchedulerException - On error
See Also:
Scheduler.pauseTriggers(org.quartz.impl.matchers.GroupMatcher)

resumeJob

public void resumeJob(JobKey jobKey)
               throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
resumeJob in interface Scheduler
Throws:
SchedulerException
See Also:
Scheduler.pauseJob(JobKey)

resumeJobs

public void resumeJobs(GroupMatcher<JobKey> matcher)
                throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
resumeJobs in interface Scheduler
Parameters:
matcher - The matcher to evaluate against known paused groups
Throws:
SchedulerException - On error
See Also:
Scheduler.pauseJobs(GroupMatcher)

pauseAll

public void pauseAll()
              throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
pauseAll in interface Scheduler
Throws:
SchedulerException
See Also:
Scheduler.resumeAll(), Scheduler.pauseTriggers(org.quartz.impl.matchers.GroupMatcher), Scheduler.standby()

resumeAll

public void resumeAll()
               throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
resumeAll in interface Scheduler
Throws:
SchedulerException
See Also:
Scheduler.pauseAll()

getJobGroupNames

public java.util.List<java.lang.String> getJobGroupNames()
                                                  throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
getJobGroupNames in interface Scheduler
Throws:
SchedulerException

getTriggersOfJob

public java.util.List<? extends Trigger> getTriggersOfJob(JobKey jobKey)
                                                   throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
getTriggersOfJob in interface Scheduler
Throws:
SchedulerException

getJobKeys

public java.util.Set<JobKey> getJobKeys(GroupMatcher<JobKey> matcher)
                                 throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
getJobKeys in interface Scheduler
Parameters:
matcher - Matcher to evaluate against known groups
Returns:
Set of all keys matching
Throws:
SchedulerException - On error

getTriggerGroupNames

public java.util.List<java.lang.String> getTriggerGroupNames()
                                                      throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
getTriggerGroupNames in interface Scheduler
Throws:
SchedulerException

getTriggerKeys

public java.util.Set<TriggerKey> getTriggerKeys(GroupMatcher<TriggerKey> matcher)
                                         throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
getTriggerKeys in interface Scheduler
Parameters:
matcher - Matcher to evaluate against known groups
Returns:
List of all keys matching
Throws:
SchedulerException - On error

getJobDetail

public JobDetail getJobDetail(JobKey jobKey)
                       throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
getJobDetail in interface Scheduler
Throws:
SchedulerException

getTrigger

public Trigger getTrigger(TriggerKey triggerKey)
                   throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
getTrigger in interface Scheduler
Throws:
SchedulerException

getTriggerState

public Trigger.TriggerState getTriggerState(TriggerKey triggerKey)
                                     throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
getTriggerState in interface Scheduler
Throws:
SchedulerException
See Also:
Trigger.TriggerState

addCalendar

public void addCalendar(java.lang.String calName,
                        Calendar calendar,
                        boolean replace,
                        boolean updateTriggers)
                 throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
addCalendar in interface 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.
Throws:
SchedulerException - if there is an internal Scheduler error, or a Calendar with the same name already exists, and replace is false.

deleteCalendar

public boolean deleteCalendar(java.lang.String calName)
                       throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
deleteCalendar in interface Scheduler
Returns:
true if the Calendar was found and deleted.
Throws:
SchedulerException - if there is an internal Scheduler error.

getCalendar

public Calendar getCalendar(java.lang.String calName)
                     throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
getCalendar in interface Scheduler
Throws:
SchedulerException

getCalendarNames

public java.util.List<java.lang.String> getCalendarNames()
                                                  throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
getCalendarNames in interface Scheduler
Throws:
SchedulerException

checkExists

public boolean checkExists(JobKey jobKey)
                    throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
checkExists in interface Scheduler
Parameters:
jobKey - the identifier to check for
Returns:
true if a Job exists with the given identifier
Throws:
SchedulerException

checkExists

public boolean checkExists(TriggerKey triggerKey)
                    throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
checkExists in interface Scheduler
Parameters:
triggerKey - the identifier to check for
Returns:
true if a Trigger exists with the given identifier
Throws:
SchedulerException

setJobFactory

public void setJobFactory(JobFactory factory)
                   throws SchedulerException
Description copied from interface: Scheduler
Set the 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.

Specified by:
setJobFactory in interface Scheduler
Throws:
SchedulerException
See Also:
Scheduler.setJobFactory(org.quartz.spi.JobFactory)

getListenerManager

public ListenerManager getListenerManager()
                                   throws SchedulerException
Description copied from interface: Scheduler
Get a reference to the scheduler's ListenerManager, through which listeners may be registered.

Specified by:
getListenerManager in interface Scheduler
Returns:
the scheduler's ListenerManager
Throws:
SchedulerException - if the scheduler is not local
See Also:
Scheduler.getListenerManager()

interrupt

public boolean interrupt(JobKey jobKey)
                  throws UnableToInterruptJobException
Description copied from interface: Scheduler
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.

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.

If you wish to interrupt a specific instance of a job (when more than one is executing) you can do so by calling Scheduler.getCurrentlyExecutingJobs() to obtain a handle to the job instance, and then invoke interrupt() on it yourself.

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.

Specified by:
interrupt in interface Scheduler
Returns:
true is at least one instance of the identified job was found and interrupted.
Throws:
UnableToInterruptJobException - if the job does not implement InterruptableJob, or there is an exception while interrupting the job.
See Also:
InterruptableJob.interrupt(), Scheduler.getCurrentlyExecutingJobs()


Copyright 2001-2019, Terracotta, Inc.