org.quartz.impl
Class RemoteScheduler

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

public class RemoteScheduler
extends Object
implements Scheduler

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

Author:
James House
See Also:
Scheduler, QuartzScheduler, SchedulingContext

Field Summary
 
Fields inherited from interface org.quartz.Scheduler
DEFAULT_FAIL_OVER_GROUP, DEFAULT_GROUP, DEFAULT_MANUAL_TRIGGERS, DEFAULT_RECOVERY_GROUP, FAILED_JOB_ORIGINAL_TRIGGER_FIRETIME_IN_MILLISECONDS, FAILED_JOB_ORIGINAL_TRIGGER_GROUP, FAILED_JOB_ORIGINAL_TRIGGER_NAME
 
Constructor Summary
RemoteScheduler(SchedulingContext schedCtxt, String schedId, String host, int port)
           Construct a RemoteScheduler instance to proxy the given RemoteableQuartzScheduler instance, and with the given SchedulingContext.
 
Method Summary
 void addCalendar(String calName, Calendar calendar, boolean replace, boolean updateTriggers)
           Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.
 void addGlobalJobListener(JobListener jobListener)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 void addGlobalTriggerListener(TriggerListener triggerListener)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 void addJob(JobDetail jobDetail, boolean replace)
           Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.
 void addJobListener(JobListener jobListener)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 void addSchedulerListener(SchedulerListener schedulerListener)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 void addTriggerListener(TriggerListener triggerListener)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 boolean deleteCalendar(String calName)
           Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.
 boolean deleteJob(String jobName, String groupName)
           Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.
 Calendar getCalendar(String calName)
           Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.
 String[] getCalendarNames()
           Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.
 SchedulerContext getContext()
           Returns the SchedulerContext of the Scheduler.
 List getCurrentlyExecutingJobs()
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 JobListener getGlobalJobListener(String name)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 List getGlobalJobListeners()
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 TriggerListener getGlobalTriggerListener(String name)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 List getGlobalTriggerListeners()
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 JobDetail getJobDetail(String jobName, String jobGroup)
           Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.
 String[] getJobGroupNames()
           Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.
 JobListener getJobListener(String name)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 Set getJobListenerNames()
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 String[] getJobNames(String groupName)
           Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.
 SchedulerMetaData getMetaData()
           Get a SchedulerMetaData object describing the settings and capabilities of the scheduler instance.
 Set getPausedTriggerGroups()
           Get the names of all Trigger groups that are paused.
protected  RemotableQuartzScheduler getRemoteScheduler()
           
 String getSchedulerInstanceId()
           Returns the instance Id of the Scheduler.
 List getSchedulerListeners()
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 String getSchedulerName()
           Returns the name of the Scheduler.
 Trigger getTrigger(String triggerName, String triggerGroup)
           Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.
 String[] getTriggerGroupNames()
           Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.
 TriggerListener getTriggerListener(String name)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 Set getTriggerListenerNames()
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 String[] getTriggerNames(String groupName)
           Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.
 Trigger[] getTriggersOfJob(String jobName, String groupName)
           Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.
 int getTriggerState(String triggerName, String triggerGroup)
           Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.
 boolean interrupt(String jobName, String groupName)
           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.
protected  SchedulerException invalidateHandleCreateException(String msg, Exception cause)
           
 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, passing the SchedulingContext associated with this instance.
 void pauseJob(String jobName, String groupName)
           Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.
 void pauseJobGroup(String groupName)
           Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.
 void pauseTrigger(String triggerName, String groupName)
           Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.
 void pauseTriggerGroup(String groupName)
           Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.
 boolean removeGlobalJobListener(String name)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 boolean removeGlobalTriggerListener(String name)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 boolean removeJobListener(String name)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 boolean removeSchedulerListener(SchedulerListener schedulerListener)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 boolean removeTriggerListener(String name)
           Calls the equivalent method on the 'proxied' QuartzScheduler.
 Date rescheduleJob(String triggerName, String groupName, Trigger newTrigger)
           Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.
 void resumeAll()
           Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.
 void resumeJob(String jobName, String groupName)
           Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.
 void resumeJobGroup(String groupName)
           Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.
 void resumeTrigger(String triggerName, String groupName)
           Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.
 void resumeTriggerGroup(String groupName)
           Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.
 Date scheduleJob(JobDetail jobDetail, Trigger trigger)
           Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.
 Date scheduleJob(Trigger trigger)
           Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.
 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(String jobName, String groupName)
           Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.
 void triggerJob(String jobName, String groupName, JobDataMap data)
           Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.
 void triggerJobWithVolatileTrigger(String jobName, String groupName)
           Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.
 void triggerJobWithVolatileTrigger(String jobName, String groupName, JobDataMap data)
           Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.
 boolean unscheduleJob(String triggerName, String groupName)
           Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RemoteScheduler

public RemoteScheduler(SchedulingContext schedCtxt,
                       String schedId,
                       String host,
                       int port)

Construct a RemoteScheduler instance to proxy the given RemoteableQuartzScheduler instance, and with the given SchedulingContext.

Method Detail

getRemoteScheduler

protected RemotableQuartzScheduler getRemoteScheduler()
                                               throws SchedulerException
Throws:
SchedulerException

invalidateHandleCreateException

protected SchedulerException invalidateHandleCreateException(String msg,
                                                             Exception cause)

getSchedulerName

public String getSchedulerName()
                        throws SchedulerException

Returns the name of the Scheduler.

Specified by:
getSchedulerName in interface Scheduler
Throws:
SchedulerException

getSchedulerInstanceId

public String getSchedulerInstanceId()
                              throws SchedulerException

Returns the instance Id of the Scheduler.

Specified by:
getSchedulerInstanceId in interface Scheduler
Throws:
SchedulerException

getMetaData

public SchedulerMetaData getMetaData()
                              throws SchedulerException
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
Throws:
SchedulerException

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()
             throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

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

isStarted

public boolean isStarted()
                  throws SchedulerException
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
Throws:
SchedulerException
See Also:
start(), isShutdown(), isInStandbyMode()

isInStandbyMode

public boolean isInStandbyMode()
                        throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

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

shutdown

public void shutdown()
              throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

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

shutdown

public void shutdown(boolean waitForJobsToComplete)
              throws SchedulerException

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.
Throws:
SchedulerException
See Also:
Scheduler.shutdown()

isShutdown

public boolean isShutdown()
                   throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
isShutdown in interface Scheduler
Throws:
SchedulerException

getCurrentlyExecutingJobs

public List getCurrentlyExecutingJobs()
                               throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
getCurrentlyExecutingJobs in interface Scheduler
Throws:
SchedulerException
See Also:
JobExecutionContext

scheduleJob

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

Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.

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 Date scheduleJob(Trigger trigger)
                 throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.

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, passing the SchedulingContext associated with this instance.

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.

deleteJob

public boolean deleteJob(String jobName,
                         String groupName)
                  throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.

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(String triggerName,
                             String groupName)
                      throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.

Specified by:
unscheduleJob in interface Scheduler
Throws:
SchedulerException

rescheduleJob

public Date rescheduleJob(String triggerName,
                          String groupName,
                          Trigger newTrigger)
                   throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.

Specified by:
rescheduleJob in interface Scheduler
Parameters:
triggerName - The name of the Trigger to be replaced.
groupName - The group name of the Trigger to be replaced.
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, otherwise the first fire time of the newly scheduled trigger.
Throws:
SchedulerException

triggerJob

public void triggerJob(String jobName,
                       String groupName)
                throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.

Specified by:
triggerJob in interface Scheduler
Throws:
SchedulerException

triggerJob

public void triggerJob(String jobName,
                       String groupName,
                       JobDataMap data)
                throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.

Specified by:
triggerJob in interface Scheduler
Parameters:
jobName - the name of the Job to trigger
groupName - the group name of the Job to trigger
data - the (possibly null) JobDataMap to be associated with the trigger that fires the job immediately.
Throws:
SchedulerException

triggerJobWithVolatileTrigger

public void triggerJobWithVolatileTrigger(String jobName,
                                          String groupName)
                                   throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.

Specified by:
triggerJobWithVolatileTrigger in interface Scheduler
Throws:
SchedulerException

triggerJobWithVolatileTrigger

public void triggerJobWithVolatileTrigger(String jobName,
                                          String groupName,
                                          JobDataMap data)
                                   throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.

Specified by:
triggerJobWithVolatileTrigger in interface Scheduler
Parameters:
jobName - the name of the Job to trigger
groupName - the group name of the Job to trigger
data - the (possibly null) JobDataMap to be associated with the trigger that fires the job immediately.
Throws:
SchedulerException

pauseTrigger

public void pauseTrigger(String triggerName,
                         String groupName)
                  throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.

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

pauseTriggerGroup

public void pauseTriggerGroup(String groupName)
                       throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.

Specified by:
pauseTriggerGroup in interface Scheduler
Throws:
SchedulerException
See Also:
Scheduler.resumeTriggerGroup(String)

pauseJob

public void pauseJob(String jobName,
                     String groupName)
              throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.

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

pauseJobGroup

public void pauseJobGroup(String groupName)
                   throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.

Specified by:
pauseJobGroup in interface Scheduler
Throws:
SchedulerException
See Also:
Scheduler.resumeJobGroup(String)

resumeTrigger

public void resumeTrigger(String triggerName,
                          String groupName)
                   throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.

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

resumeTriggerGroup

public void resumeTriggerGroup(String groupName)
                        throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.

Specified by:
resumeTriggerGroup in interface Scheduler
Throws:
SchedulerException
See Also:
Scheduler.pauseTriggerGroup(String)

resumeJob

public void resumeJob(String jobName,
                      String groupName)
               throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.

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

resumeJobGroup

public void resumeJobGroup(String groupName)
                    throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.

Specified by:
resumeJobGroup in interface Scheduler
Throws:
SchedulerException
See Also:
Scheduler.pauseJobGroup(String)

pauseAll

public void pauseAll()
              throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.

Specified by:
pauseAll in interface Scheduler
Throws:
SchedulerException
See Also:
Scheduler.resumeAll(), Scheduler.pauseTriggerGroup(String), Scheduler.standby()

resumeAll

public void resumeAll()
               throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.

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

getJobGroupNames

public String[] getJobGroupNames()
                          throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.

Specified by:
getJobGroupNames in interface Scheduler
Throws:
SchedulerException

getJobNames

public String[] getJobNames(String groupName)
                     throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.

Specified by:
getJobNames in interface Scheduler
Throws:
SchedulerException

getTriggersOfJob

public Trigger[] getTriggersOfJob(String jobName,
                                  String groupName)
                           throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.

Specified by:
getTriggersOfJob in interface Scheduler
Throws:
SchedulerException

getTriggerGroupNames

public String[] getTriggerGroupNames()
                              throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.

Specified by:
getTriggerGroupNames in interface Scheduler
Throws:
SchedulerException

getTriggerNames

public String[] getTriggerNames(String groupName)
                         throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.

Specified by:
getTriggerNames in interface Scheduler
Throws:
SchedulerException

getJobDetail

public JobDetail getJobDetail(String jobName,
                              String jobGroup)
                       throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.

Specified by:
getJobDetail in interface Scheduler
Throws:
SchedulerException

getTrigger

public Trigger getTrigger(String triggerName,
                          String triggerGroup)
                   throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.

Specified by:
getTrigger in interface Scheduler
Throws:
SchedulerException

getTriggerState

public int getTriggerState(String triggerName,
                           String triggerGroup)
                    throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.

Specified by:
getTriggerState in interface Scheduler
Throws:
SchedulerException
See Also:
Trigger.STATE_NORMAL, Trigger.STATE_PAUSED, Trigger.STATE_COMPLETE, Trigger.STATE_ERROR, Trigger.STATE_BLOCKED, Trigger.STATE_NONE

addCalendar

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

Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.

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(String calName)
                       throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.

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(String calName)
                     throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.

Specified by:
getCalendar in interface Scheduler
Throws:
SchedulerException

getCalendarNames

public String[] getCalendarNames()
                          throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler, passing the SchedulingContext associated with this instance.

Specified by:
getCalendarNames in interface Scheduler
Throws:
SchedulerException

addGlobalJobListener

public void addGlobalJobListener(JobListener jobListener)
                          throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
addGlobalJobListener in interface Scheduler
Throws:
SchedulerException
See Also:
Scheduler.addJobListener(JobListener), Scheduler.removeGlobalJobListener(String)

addJobListener

public void addJobListener(JobListener jobListener)
                    throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
addJobListener in interface Scheduler
Throws:
SchedulerException
See Also:
Scheduler.addGlobalJobListener(JobListener), Scheduler.removeJobListener(String)

removeGlobalJobListener

public boolean removeGlobalJobListener(String name)
                                throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
removeGlobalJobListener in interface Scheduler
Returns:
true if the identified listener was found in the list, and removed.
Throws:
SchedulerException
See Also:
Scheduler.addGlobalJobListener(JobListener)

removeJobListener

public boolean removeJobListener(String name)
                          throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
removeJobListener in interface Scheduler
Returns:
true if the identified listener was found in the list, and removed.
Throws:
SchedulerException
See Also:
Scheduler.addJobListener(JobListener)

getGlobalJobListeners

public List getGlobalJobListeners()
                           throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
getGlobalJobListeners in interface Scheduler
Throws:
SchedulerException
See Also:
Scheduler.addGlobalJobListener(JobListener)

getJobListenerNames

public Set getJobListenerNames()
                        throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
getJobListenerNames in interface Scheduler
Throws:
SchedulerException
See Also:
Scheduler.addJobListener(JobListener)

getGlobalJobListener

public JobListener getGlobalJobListener(String name)
                                 throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
getGlobalJobListener in interface Scheduler
Throws:
SchedulerException
See Also:
Scheduler.addGlobalJobListener(JobListener)

getJobListener

public JobListener getJobListener(String name)
                           throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
getJobListener in interface Scheduler
Throws:
SchedulerException
See Also:
Scheduler.addJobListener(JobListener)

addGlobalTriggerListener

public void addGlobalTriggerListener(TriggerListener triggerListener)
                              throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
addGlobalTriggerListener in interface Scheduler
Throws:
SchedulerException
See Also:
Scheduler.addTriggerListener(TriggerListener)

addTriggerListener

public void addTriggerListener(TriggerListener triggerListener)
                        throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
addTriggerListener in interface Scheduler
Throws:
SchedulerException
See Also:
Scheduler.addGlobalTriggerListener(TriggerListener)

removeGlobalTriggerListener

public boolean removeGlobalTriggerListener(String name)
                                    throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
removeGlobalTriggerListener in interface Scheduler
Returns:
true if the identified listener was found in the list, and removed.
Throws:
SchedulerException
See Also:
Scheduler.addGlobalTriggerListener(TriggerListener)

removeTriggerListener

public boolean removeTriggerListener(String name)
                              throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
removeTriggerListener in interface Scheduler
Returns:
true if the identified listener was found in the list, and removed.
Throws:
SchedulerException
See Also:
Scheduler.addTriggerListener(TriggerListener)

getGlobalTriggerListeners

public List getGlobalTriggerListeners()
                               throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
getGlobalTriggerListeners in interface Scheduler
Throws:
SchedulerException
See Also:
Scheduler.addGlobalTriggerListener(TriggerListener)

getTriggerListenerNames

public Set getTriggerListenerNames()
                            throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
getTriggerListenerNames in interface Scheduler
Throws:
SchedulerException
See Also:
Scheduler.addTriggerListener(TriggerListener)

getGlobalTriggerListener

public TriggerListener getGlobalTriggerListener(String name)
                                         throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
getGlobalTriggerListener in interface Scheduler
Throws:
SchedulerException
See Also:
Scheduler.addGlobalTriggerListener(TriggerListener)

getTriggerListener

public TriggerListener getTriggerListener(String name)
                                   throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
getTriggerListener in interface Scheduler
Throws:
SchedulerException
See Also:
Scheduler.addTriggerListener(TriggerListener)

addSchedulerListener

public void addSchedulerListener(SchedulerListener schedulerListener)
                          throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
addSchedulerListener in interface Scheduler
Throws:
SchedulerException

removeSchedulerListener

public boolean removeSchedulerListener(SchedulerListener schedulerListener)
                                throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
removeSchedulerListener in interface Scheduler
Returns:
true if the identified listener was found in the list, and removed.
Throws:
SchedulerException

getSchedulerListeners

public List getSchedulerListeners()
                           throws SchedulerException

Calls the equivalent method on the 'proxied' QuartzScheduler.

Specified by:
getSchedulerListeners in interface Scheduler
Throws:
SchedulerException

getPausedTriggerGroups

public 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()

interrupt

public boolean interrupt(String jobName,
                         String groupName)
                  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:
Scheduler.interrupt(java.lang.String, java.lang.String)

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)


Copyright 2001-2012, Terracotta, Inc.