|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.quartz.impl.RemoteScheduler
public class RemoteScheduler
An implementation of the Scheduler
interface that remotely
proxies all method calls to the equivalent call on a given QuartzScheduler
instance, via RMI.
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 | |
---|---|
RemoteScheduler(java.lang.String schedId,
java.lang.String host,
int port)
Construct a RemoteScheduler instance to proxy the given
RemoteableQuartzScheduler 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 Job s from the Scheduler - and any
associated Trigger s. |
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 |
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 groups that are paused. |
protected RemotableQuartzScheduler |
getRemoteScheduler()
|
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. |
protected SchedulerException |
invalidateHandleCreateException(java.lang.String msg,
java.lang.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 . |
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 s from the scheduler. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public RemoteScheduler(java.lang.String schedId, java.lang.String host, int port)
Construct a RemoteScheduler
instance to proxy the given
RemoteableQuartzScheduler
instance, and with the given
SchedulingContext
.
Method Detail |
---|
protected RemotableQuartzScheduler getRemoteScheduler() throws SchedulerException
SchedulerException
protected SchedulerException invalidateHandleCreateException(java.lang.String msg, java.lang.Exception cause)
public java.lang.String getSchedulerName() throws SchedulerException
Returns the name of the Scheduler
.
getSchedulerName
in interface Scheduler
SchedulerException
public java.lang.String getSchedulerInstanceId() throws SchedulerException
Returns the instance Id of the Scheduler
.
getSchedulerInstanceId
in interface Scheduler
SchedulerException
public SchedulerMetaData getMetaData() throws SchedulerException
Scheduler
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.
getMetaData
in interface Scheduler
SchedulerException
public SchedulerContext getContext() throws SchedulerException
Returns the SchedulerContext
of the Scheduler
.
getContext
in interface Scheduler
SchedulerException
public void start() throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
start
in interface Scheduler
SchedulerException
- if shutdown()
has been called, or there is an
error within the Scheduler
.Scheduler.startDelayed(int)
,
Scheduler.standby()
,
Scheduler.shutdown()
public void startDelayed(int seconds) throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
startDelayed
in interface Scheduler
SchedulerException
- if shutdown()
has been called, or there is an
error within the Scheduler
.Scheduler.start()
,
Scheduler.standby()
,
Scheduler.shutdown()
public void standby() throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
standby
in interface Scheduler
SchedulerException
Scheduler.start()
,
Scheduler.pauseAll()
public 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.
isStarted
in interface Scheduler
SchedulerException
start()
,
isShutdown()
,
isInStandbyMode()
public boolean isInStandbyMode() throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
isInStandbyMode
in interface Scheduler
SchedulerException
Scheduler.standby()
,
Scheduler.start()
public void shutdown() throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
shutdown
in interface Scheduler
SchedulerException
Scheduler.shutdown(boolean)
public void shutdown(boolean waitForJobsToComplete) throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
shutdown
in interface Scheduler
waitForJobsToComplete
- if true
the scheduler will not allow this method
to return until all currently executing jobs have completed.
SchedulerException
Scheduler.shutdown()
public boolean isShutdown() throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
isShutdown
in interface Scheduler
SchedulerException
public java.util.List getCurrentlyExecutingJobs() throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
getCurrentlyExecutingJobs
in interface Scheduler
SchedulerException
JobExecutionContext
public java.util.Date scheduleJob(JobDetail jobDetail, Trigger trigger) throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
scheduleJob
in interface Scheduler
SchedulerException
- if the Job or Trigger cannot be added to the Scheduler, or
there is an internal Scheduler error.public java.util.Date scheduleJob(Trigger trigger) throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
scheduleJob
in interface Scheduler
SchedulerException
- if the indicated Job does not exist, or the Trigger cannot be
added to the Scheduler, or there is an internal Scheduler
error.public void addJob(JobDetail jobDetail, boolean replace) throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
addJob
in interface Scheduler
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
.public boolean deleteJobs(java.util.List<JobKey> jobKeys) throws SchedulerException
Scheduler
Job
s from the Scheduler - and any
associated Trigger
s.
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).
deleteJobs
in interface Scheduler
SchedulerException
- if there is an internal Scheduler error.public void scheduleJobs(java.util.Map<JobDetail,java.util.List<Trigger>> triggersAndJobs, boolean replace) throws SchedulerException
Scheduler
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.
scheduleJobs
in interface Scheduler
ObjectAlreadyExistsException
- if the job/trigger keys
are not unique and the replace flag is not set to true.
SchedulerException
public boolean unscheduleJobs(java.util.List<TriggerKey> triggerKeys) throws SchedulerException
Scheduler
Trigger
s 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).
unscheduleJobs
in interface Scheduler
SchedulerException
public boolean deleteJob(JobKey jobKey) throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
deleteJob
in interface Scheduler
SchedulerException
- if there is an internal Scheduler error.public boolean unscheduleJob(TriggerKey triggerKey) throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
unscheduleJob
in interface Scheduler
SchedulerException
public java.util.Date rescheduleJob(TriggerKey triggerKey, Trigger newTrigger) throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
rescheduleJob
in interface Scheduler
triggerKey
- identity of the trigger to replacenewTrigger
- The new Trigger
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.
SchedulerException
public void triggerJob(JobKey jobKey) throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
triggerJob
in interface Scheduler
SchedulerException
public void triggerJob(JobKey jobKey, JobDataMap data) throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
triggerJob
in interface Scheduler
data
- the (possibly null
) JobDataMap to be
associated with the trigger that fires the job immediately.
SchedulerException
public void pauseTrigger(TriggerKey triggerKey) throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
pauseTrigger
in interface Scheduler
SchedulerException
Scheduler.resumeTrigger(TriggerKey)
public void pauseTriggers(GroupMatcher<TriggerKey> matcher) throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
pauseTriggers
in interface Scheduler
matcher
- The matcher to evaluate against know groups
SchedulerException
Scheduler.resumeTriggers(org.quartz.impl.matchers.GroupMatcher)
public void pauseJob(JobKey jobKey) throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
pauseJob
in interface Scheduler
SchedulerException
Scheduler.resumeJob(JobKey)
public void pauseJobs(GroupMatcher<JobKey> matcher) throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
pauseJobs
in interface Scheduler
matcher
- The matcher to evaluate against know groups
SchedulerException
- On errorScheduler.resumeJobs(org.quartz.impl.matchers.GroupMatcher)
public void resumeTrigger(TriggerKey triggerKey) throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
resumeTrigger
in interface Scheduler
SchedulerException
Scheduler.pauseTrigger(TriggerKey)
public void resumeTriggers(GroupMatcher<TriggerKey> matcher) throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
resumeTriggers
in interface Scheduler
matcher
- The matcher to evaluate against know paused groups
SchedulerException
- On errorScheduler.pauseTriggers(org.quartz.impl.matchers.GroupMatcher)
public void resumeJob(JobKey jobKey) throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
resumeJob
in interface Scheduler
SchedulerException
Scheduler.pauseJob(JobKey)
public void resumeJobs(GroupMatcher<JobKey> matcher) throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
resumeJobs
in interface Scheduler
matcher
- The matcher to evaluate against known paused groups
SchedulerException
- On errorScheduler.pauseJobs(GroupMatcher)
public void pauseAll() throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
pauseAll
in interface Scheduler
SchedulerException
Scheduler.resumeAll()
,
Scheduler.pauseTriggers(org.quartz.impl.matchers.GroupMatcher)
,
Scheduler.standby()
public void resumeAll() throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
resumeAll
in interface Scheduler
SchedulerException
Scheduler.pauseAll()
public java.util.List<java.lang.String> getJobGroupNames() throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
getJobGroupNames
in interface Scheduler
SchedulerException
public java.util.Set<JobKey> getJobKeys(GroupMatcher<JobKey> matcher) throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
getJobKeys
in interface Scheduler
matcher
- Matcher to evaluate against known groups
SchedulerException
- On errorpublic java.util.List<? extends Trigger> getTriggersOfJob(JobKey jobKey) throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
getTriggersOfJob
in interface Scheduler
SchedulerException
public java.util.List<java.lang.String> getTriggerGroupNames() throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
getTriggerGroupNames
in interface Scheduler
SchedulerException
public java.util.Set<TriggerKey> getTriggerKeys(GroupMatcher<TriggerKey> matcher) throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
getTriggerKeys
in interface Scheduler
matcher
- Matcher to evaluate against known groups
SchedulerException
- On errorpublic JobDetail getJobDetail(JobKey jobKey) throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
getJobDetail
in interface Scheduler
SchedulerException
public boolean checkExists(JobKey jobKey) throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
checkExists
in interface Scheduler
jobKey
- the identifier to check for
SchedulerException
public boolean checkExists(TriggerKey triggerKey) throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
checkExists
in interface Scheduler
triggerKey
- the identifier to check for
SchedulerException
public void clear() throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
clear
in interface Scheduler
SchedulerException
public Trigger getTrigger(TriggerKey triggerKey) throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
getTrigger
in interface Scheduler
SchedulerException
public Trigger.TriggerState getTriggerState(TriggerKey triggerKey) throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
getTriggerState
in interface Scheduler
SchedulerException
Trigger.TriggerState
public void addCalendar(java.lang.String calName, Calendar calendar, boolean replace, boolean updateTriggers) throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
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.
SchedulerException
- if there is an internal Scheduler error, or a Calendar with
the same name already exists, and replace
is
false
.public boolean deleteCalendar(java.lang.String calName) throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
deleteCalendar
in interface Scheduler
SchedulerException
- if there is an internal Scheduler error.public Calendar getCalendar(java.lang.String calName) throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
getCalendar
in interface Scheduler
SchedulerException
public java.util.List<java.lang.String> getCalendarNames() throws SchedulerException
Calls the equivalent method on the 'proxied' QuartzScheduler
.
getCalendarNames
in interface Scheduler
SchedulerException
public java.util.Set getPausedTriggerGroups() throws SchedulerException
Scheduler
Trigger
groups that are paused.
getPausedTriggerGroups
in interface Scheduler
SchedulerException
Scheduler.getPausedTriggerGroups()
public ListenerManager getListenerManager() throws SchedulerException
Scheduler
ListenerManager
,
through which listeners may be registered.
getListenerManager
in interface Scheduler
ListenerManager
SchedulerException
- if the scheduler is not localListenerManager
,
JobListener
,
TriggerListener
,
SchedulerListener
public boolean interrupt(JobKey jobKey) throws UnableToInterruptJobException
Scheduler
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
to obtain a handle
to the job instance, and then invoke Scheduler.getCurrentlyExecutingJobs()
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.
interrupt
in interface Scheduler
UnableToInterruptJobException
- if the job does not implement
InterruptableJob
, or there is an exception while
interrupting the job.Scheduler.interrupt(JobKey)
public void setJobFactory(JobFactory factory) throws SchedulerException
Scheduler
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.
setJobFactory
in interface Scheduler
SchedulerException
Scheduler.setJobFactory(org.quartz.spi.JobFactory)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |