Class QuartzScheduler
- java.lang.Object
-
- org.quartz.core.QuartzScheduler
-
- All Implemented Interfaces:
java.rmi.Remote
,RemotableQuartzScheduler
public class QuartzScheduler extends java.lang.Object implements RemotableQuartzScheduler
This is the heart of Quartz, an indirect implementation of the
interface, containing methods to scheduleScheduler
s, registerJob
instances, etc.JobListener
- Author:
- James House
- See Also:
Scheduler
,QuartzSchedulerThread
,JobStore
,ThreadPool
-
-
Constructor Summary
Constructors Constructor Description QuartzScheduler(QuartzSchedulerResources resources, long idleWaitTime, long dbRetryInterval)
Create aQuartzScheduler
with the given configuration properties.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addCalendar(java.lang.String calName, Calendar calendar, boolean replace, boolean updateTriggers)
Add (register) the givenCalendar
to the Scheduler.void
addInternalJobListener(JobListener jobListener)
Add the given
to theJobListener
Scheduler
's internal list.void
addInternalSchedulerListener(SchedulerListener schedulerListener)
Register the given
with theSchedulerListener
Scheduler
's list of internal listeners.void
addInternalTriggerListener(TriggerListener triggerListener)
Add the given
to theTriggerListener
Scheduler
's internal list.void
addJob(JobDetail jobDetail, boolean replace)
Add the givenJob
to the Scheduler - with no associatedTrigger
.void
addJob(JobDetail jobDetail, boolean replace, boolean storeNonDurableWhileAwaitingScheduling)
void
addNoGCObject(java.lang.Object obj)
boolean
checkExists(JobKey jobKey)
Determine whether aJob
with the given identifier already exists within the scheduler.boolean
checkExists(TriggerKey triggerKey)
Determine whether aTrigger
with the given identifier already exists within the scheduler.void
clear()
boolean
deleteCalendar(java.lang.String calName)
Delete the identifiedCalendar
from the Scheduler.boolean
deleteJob(JobKey jobKey)
Delete the identifiedJob
from the Scheduler - and any associatedTrigger
s.boolean
deleteJobs(java.util.List<JobKey> jobKeys)
Calendar
getCalendar(java.lang.String calName)
Get the
instance with the given name.Calendar
java.util.List<java.lang.String>
getCalendarNames()
Get the names of all registered
.Calendar
sjava.util.List<JobExecutionContext>
getCurrentlyExecutingJobs()
Return a list ofJobExecutionContext
objects that represent all currently executing Jobs in this Scheduler instance.JobListener
getInternalJobListener(java.lang.String name)
Get the internal
that has the given name.JobListener
java.util.List<JobListener>
getInternalJobListeners()
Get a List containing all of the
s in theJobListener
Scheduler
's internal list.java.util.List<SchedulerListener>
getInternalSchedulerListeners()
Get a List containing all of the internal
s registered with theSchedulerListener
Scheduler
.TriggerListener
getInternalTriggerListener(java.lang.String name)
Get the internal
that has the given name.TriggerListener
java.util.List<TriggerListener>
getInternalTriggerListeners()
Get a list containing all of the
s in theTriggerListener
Scheduler
's internal list.JobDetail
getJobDetail(JobKey jobKey)
Get the
for theJobDetail
Job
instance with the given name and group.JobFactory
getJobFactory()
java.util.List<java.lang.String>
getJobGroupNames()
Get the names of all known
groups.Job
java.util.Set<JobKey>
getJobKeys(GroupMatcher<JobKey> matcher)
Get the names of all the
in the matching groups.Job
sjava.lang.Class<?>
getJobStoreClass()
ListenerManager
getListenerManager()
org.slf4j.Logger
getLog()
java.util.Set<java.lang.String>
getPausedTriggerGroups()
SchedulerContext
getSchedulerContext()
Returns theSchedulerContext
of theScheduler
.java.lang.String
getSchedulerInstanceId()
Returns the instance Id of theQuartzScheduler
.java.lang.String
getSchedulerName()
Returns the name of theQuartzScheduler
.SchedulerSignaler
getSchedulerSignaler()
java.lang.ThreadGroup
getSchedulerThreadGroup()
Returns the name of the thread group for Quartz's main threads.java.lang.Class<?>
getThreadPoolClass()
int
getThreadPoolSize()
Trigger
getTrigger(TriggerKey triggerKey)
Get the
instance with the given name and group.Trigger
java.util.List<java.lang.String>
getTriggerGroupNames()
Get the names of all known
groups.Trigger
java.util.Set<TriggerKey>
getTriggerKeys(GroupMatcher<TriggerKey> matcher)
Get the names of all the
in the matching groups.Trigger
sjava.util.List<? extends Trigger>
getTriggersOfJob(JobKey jobKey)
Trigger.TriggerState
getTriggerState(TriggerKey triggerKey)
Get the current state of the identified
.Trigger
java.lang.String
getVersion()
static java.lang.String
getVersionIteration()
static java.lang.String
getVersionMajor()
static java.lang.String
getVersionMinor()
void
initialize()
boolean
interrupt(java.lang.String fireInstanceId)
Interrupt the identified InterruptableJob executing in this Scheduler instance.boolean
interrupt(JobKey jobKey)
Interrupt all instances of the identified InterruptableJob executing in this Scheduler instance.boolean
isClustered()
boolean
isInStandbyMode()
Reports whether theScheduler
is paused.boolean
isShutdown()
Reports whether theScheduler
has been shutdown.boolean
isShuttingDown()
boolean
isSignalOnSchedulingChange()
boolean
isStarted()
void
notifyJobListenersToBeExecuted(JobExecutionContext jec)
void
notifyJobListenersWasExecuted(JobExecutionContext jec, JobExecutionException je)
void
notifyJobListenersWasVetoed(JobExecutionContext jec)
protected void
notifyJobStoreJobComplete(OperableTrigger trigger, JobDetail detail, Trigger.CompletedExecutionInstruction instCode)
protected void
notifyJobStoreJobVetoed(OperableTrigger trigger, JobDetail detail, Trigger.CompletedExecutionInstruction instCode)
void
notifySchedulerListenersError(java.lang.String msg, SchedulerException se)
void
notifySchedulerListenersFinalized(Trigger trigger)
void
notifySchedulerListenersInStandbyMode()
void
notifySchedulerListenersJobAdded(JobDetail jobDetail)
void
notifySchedulerListenersJobDeleted(JobKey jobKey)
void
notifySchedulerListenersPausedJob(JobKey key)
void
notifySchedulerListenersPausedJobs(java.lang.String group)
void
notifySchedulerListenersPausedTrigger(TriggerKey triggerKey)
void
notifySchedulerListenersPausedTriggers(java.lang.String group)
void
notifySchedulerListenersResumedJob(JobKey key)
void
notifySchedulerListenersResumedJobs(java.lang.String group)
void
notifySchedulerListenersResumedTrigger(TriggerKey key)
void
notifySchedulerListenersResumedTriggers(java.lang.String group)
void
notifySchedulerListenersSchduled(Trigger trigger)
void
notifySchedulerListenersShutdown()
void
notifySchedulerListenersShuttingdown()
void
notifySchedulerListenersStarted()
void
notifySchedulerListenersStarting()
void
notifySchedulerListenersUnscheduled(TriggerKey triggerKey)
protected void
notifySchedulerThread(long candidateNewNextFireTime)
void
notifyTriggerListenersComplete(JobExecutionContext jec, Trigger.CompletedExecutionInstruction instCode)
boolean
notifyTriggerListenersFired(JobExecutionContext jec)
void
notifyTriggerListenersMisfired(Trigger trigger)
int
numJobsExecuted()
void
pauseAll()
Pause all triggers - equivalent of callingpauseTriggers(GroupMatcher)
with a matcher matching all known groups.void
pauseJob(JobKey jobKey)
Pause the
with the given name - by pausing all of its currentJobDetail
Trigger
s.void
pauseJobs(GroupMatcher<JobKey> groupMatcher)
Pause all of the
in the matching groups - by pausing all of theirJobDetail
sTrigger
s.void
pauseTrigger(TriggerKey triggerKey)
Pause the
with the given name.Trigger
void
pauseTriggers(GroupMatcher<TriggerKey> matcher)
Pause all of the
in the matching groups.Trigger
sboolean
removeInternalJobListener(java.lang.String name)
Remove the identified
from theJobListener
Scheduler
's list of internal listeners.boolean
removeInternalSchedulerListener(SchedulerListener schedulerListener)
Remove the given
from theSchedulerListener
Scheduler
's list of internal listeners.boolean
removeinternalTriggerListener(java.lang.String name)
Remove the identified
from theTriggerListener
Scheduler
's list of internal listeners.boolean
removeNoGCObject(java.lang.Object obj)
java.util.Date
rescheduleJob(TriggerKey triggerKey, Trigger newTrigger)
Remove (delete) the
with the given name, and store the new given one - which must be associated with the same job.Trigger
void
resetTriggerFromErrorState(TriggerKey triggerKey)
void
resumeAll()
Resume (un-pause) all triggers - equivalent of callingresumeTriggerGroup(group)
on every group.void
resumeJob(JobKey jobKey)
Resume (un-pause) the
with the given name.JobDetail
void
resumeJobs(GroupMatcher<JobKey> matcher)
Resume (un-pause) all of the
in the matching groups.JobDetail
svoid
resumeTrigger(TriggerKey triggerKey)
Resume (un-pause) the
with the given name.Trigger
void
resumeTriggers(GroupMatcher<TriggerKey> matcher)
Resume (un-pause) all of the
in the matching groups.Trigger
sjava.util.Date
runningSince()
void
scheduleJob(JobDetail jobDetail, java.util.Set<? extends Trigger> triggersForJob, boolean replace)
java.util.Date
scheduleJob(JobDetail jobDetail, Trigger trigger)
java.util.Date
scheduleJob(Trigger trigger)
void
scheduleJobs(java.util.Map<JobDetail,java.util.Set<? extends Trigger>> triggersAndJobs, boolean replace)
void
setJobFactory(JobFactory factory)
void
setSignalOnSchedulingChange(boolean signalOnSchedulingChange)
void
shutdown()
Halts theQuartzScheduler
's firing of
, and cleans up all resources associated with the QuartzScheduler.Trigger
svoid
shutdown(boolean waitForJobsToComplete)
Halts theQuartzScheduler
's firing of
, and cleans up all resources associated with the QuartzScheduler.Trigger
svoid
standby()
Temporarily halts theQuartzScheduler
's firing of
.Trigger
svoid
start()
Starts theQuartzScheduler
's threads that fire
.Trigger
svoid
startDelayed(int seconds)
boolean
supportsPersistence()
void
triggerJob(JobKey jobKey, JobDataMap data)
Trigger the identified
(execute it now) - with a non-volatile trigger.Job
void
triggerJob(OperableTrigger trig)
Store and schedule the identifiedOperableTrigger
boolean
unscheduleJob(TriggerKey triggerKey)
Remove the indicated
from the scheduler.Trigger
boolean
unscheduleJobs(java.util.List<TriggerKey> triggerKeys)
void
validateState()
-
-
-
Constructor Detail
-
QuartzScheduler
public QuartzScheduler(QuartzSchedulerResources resources, long idleWaitTime, @Deprecated long dbRetryInterval) throws SchedulerException
Create a
QuartzScheduler
with the given configuration properties.- Throws:
SchedulerException
- See Also:
QuartzSchedulerResources
-
-
Method Detail
-
initialize
public void initialize() throws SchedulerException
- Throws:
SchedulerException
-
getVersion
public java.lang.String getVersion()
- Specified by:
getVersion
in interfaceRemotableQuartzScheduler
-
getVersionMajor
public static java.lang.String getVersionMajor()
-
getVersionMinor
public static java.lang.String getVersionMinor()
-
getVersionIteration
public static java.lang.String getVersionIteration()
-
getSchedulerSignaler
public SchedulerSignaler getSchedulerSignaler()
-
getLog
public org.slf4j.Logger getLog()
-
getSchedulerName
public java.lang.String getSchedulerName()
Returns the name of the
QuartzScheduler
.- Specified by:
getSchedulerName
in interfaceRemotableQuartzScheduler
-
getSchedulerInstanceId
public java.lang.String getSchedulerInstanceId()
Returns the instance Id of the
QuartzScheduler
.- Specified by:
getSchedulerInstanceId
in interfaceRemotableQuartzScheduler
-
getSchedulerThreadGroup
public java.lang.ThreadGroup getSchedulerThreadGroup()
Returns the name of the thread group for Quartz's main threads.
-
addNoGCObject
public void addNoGCObject(java.lang.Object obj)
-
removeNoGCObject
public boolean removeNoGCObject(java.lang.Object obj)
-
getSchedulerContext
public SchedulerContext getSchedulerContext() throws SchedulerException
Returns the
SchedulerContext
of theScheduler
.- Specified by:
getSchedulerContext
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
-
isSignalOnSchedulingChange
public boolean isSignalOnSchedulingChange()
-
setSignalOnSchedulingChange
public void setSignalOnSchedulingChange(boolean signalOnSchedulingChange)
-
start
public void start() throws SchedulerException
Starts the
QuartzScheduler
's threads that fire
.Trigger
sAll
that have misfired will be passed to the appropriate TriggerListener(s).Trigger
s- Specified by:
start
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
-
startDelayed
public void startDelayed(int seconds) throws SchedulerException
- Specified by:
startDelayed
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
-
standby
public void standby()
Temporarily halts the
QuartzScheduler
's firing of
.Trigger
sThe scheduler is not destroyed, and can be re-started at any time.
- Specified by:
standby
in interfaceRemotableQuartzScheduler
-
isInStandbyMode
public boolean isInStandbyMode()
Reports whether the
Scheduler
is paused.- Specified by:
isInStandbyMode
in interfaceRemotableQuartzScheduler
-
runningSince
public java.util.Date runningSince()
- Specified by:
runningSince
in interfaceRemotableQuartzScheduler
-
numJobsExecuted
public int numJobsExecuted()
- Specified by:
numJobsExecuted
in interfaceRemotableQuartzScheduler
-
getJobStoreClass
public java.lang.Class<?> getJobStoreClass()
- Specified by:
getJobStoreClass
in interfaceRemotableQuartzScheduler
-
supportsPersistence
public boolean supportsPersistence()
- Specified by:
supportsPersistence
in interfaceRemotableQuartzScheduler
-
isClustered
public boolean isClustered()
- Specified by:
isClustered
in interfaceRemotableQuartzScheduler
-
getThreadPoolClass
public java.lang.Class<?> getThreadPoolClass()
- Specified by:
getThreadPoolClass
in interfaceRemotableQuartzScheduler
-
getThreadPoolSize
public int getThreadPoolSize()
- Specified by:
getThreadPoolSize
in interfaceRemotableQuartzScheduler
-
shutdown
public void shutdown()
Halts the
QuartzScheduler
's firing of
, and cleans up all resources associated with the QuartzScheduler. Equivalent toTrigger
sshutdown(false)
.The scheduler cannot be re-started.
- Specified by:
shutdown
in interfaceRemotableQuartzScheduler
-
shutdown
public void shutdown(boolean waitForJobsToComplete)
Halts the
QuartzScheduler
's firing of
, and cleans up all resources associated with the QuartzScheduler.Trigger
sThe scheduler cannot be re-started.
- Specified by:
shutdown
in interfaceRemotableQuartzScheduler
- Parameters:
waitForJobsToComplete
- iftrue
the scheduler will not allow this method to return until all currently executing jobs have completed.
-
isShutdown
public boolean isShutdown()
Reports whether the
Scheduler
has been shutdown.- Specified by:
isShutdown
in interfaceRemotableQuartzScheduler
-
isShuttingDown
public boolean isShuttingDown()
-
isStarted
public boolean isStarted()
-
validateState
public void validateState() throws SchedulerException
- Throws:
SchedulerException
-
getCurrentlyExecutingJobs
public java.util.List<JobExecutionContext> getCurrentlyExecutingJobs()
Return a list of
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.
- Specified by:
getCurrentlyExecutingJobs
in interfaceRemotableQuartzScheduler
-
scheduleJob
public java.util.Date scheduleJob(JobDetail jobDetail, Trigger trigger) throws SchedulerException
Add the
identified by the givenJob
to the Scheduler, and associate the givenJobDetail
with it.Trigger
If the given Trigger does not reference any
Job
, then it will be set to reference the Job passed with it into this method.- Specified by:
scheduleJob
in interfaceRemotableQuartzScheduler
- 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
Schedule the given
with theTrigger
Job
identified by theTrigger
's settings.- Specified by:
scheduleJob
in interfaceRemotableQuartzScheduler
- 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
Add the given
Job
to the Scheduler - with no associatedTrigger
. TheJob
will be 'dormant' until it is scheduled with aTrigger
, orScheduler.triggerJob()
is called for it.The
Job
must by definition be 'durable', if it is not, SchedulerException will be thrown.- Specified by:
addJob
in interfaceRemotableQuartzScheduler
- 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, andreplace
isfalse
.
-
addJob
public void addJob(JobDetail jobDetail, boolean replace, boolean storeNonDurableWhileAwaitingScheduling) throws SchedulerException
- Specified by:
addJob
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
-
deleteJob
public boolean deleteJob(JobKey jobKey) throws SchedulerException
Delete the identified
Job
from the Scheduler - and any associatedTrigger
s.- Specified by:
deleteJob
in interfaceRemotableQuartzScheduler
- Returns:
- true if the Job was found and deleted.
- Throws:
SchedulerException
- if there is an internal Scheduler error.
-
deleteJobs
public boolean deleteJobs(java.util.List<JobKey> jobKeys) throws SchedulerException
- Specified by:
deleteJobs
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
-
scheduleJobs
public void scheduleJobs(java.util.Map<JobDetail,java.util.Set<? extends Trigger>> triggersAndJobs, boolean replace) throws SchedulerException
- Specified by:
scheduleJobs
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
-
scheduleJob
public void scheduleJob(JobDetail jobDetail, java.util.Set<? extends Trigger> triggersForJob, boolean replace) throws SchedulerException
- Specified by:
scheduleJob
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
-
unscheduleJobs
public boolean unscheduleJobs(java.util.List<TriggerKey> triggerKeys) throws SchedulerException
- Specified by:
unscheduleJobs
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
-
unscheduleJob
public boolean unscheduleJob(TriggerKey triggerKey) throws SchedulerException
Remove the indicated
from the scheduler.Trigger
- Specified by:
unscheduleJob
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
-
rescheduleJob
public java.util.Date rescheduleJob(TriggerKey triggerKey, Trigger newTrigger) throws SchedulerException
Remove (delete) the
with the given name, and store the new given one - which must be associated with the same job.Trigger
- Specified by:
rescheduleJob
in interfaceRemotableQuartzScheduler
- Parameters:
newTrigger
- The newTrigger
to be stored.- Returns:
null
if aTrigger
with the given name and 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(JobKey jobKey, JobDataMap data) throws SchedulerException
Trigger the identified
(execute it now) - with a non-volatile trigger.Job
- Specified by:
triggerJob
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
-
triggerJob
public void triggerJob(OperableTrigger trig) throws SchedulerException
Store and schedule the identified
OperableTrigger
- Specified by:
triggerJob
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
-
pauseTrigger
public void pauseTrigger(TriggerKey triggerKey) throws SchedulerException
Pause the
with the given name.Trigger
- Specified by:
pauseTrigger
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
-
pauseTriggers
public void pauseTriggers(GroupMatcher<TriggerKey> matcher) throws SchedulerException
Pause all of the
in the matching groups.Trigger
s- Specified by:
pauseTriggers
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
-
pauseJob
public void pauseJob(JobKey jobKey) throws SchedulerException
Pause the
with the given name - by pausing all of its currentJobDetail
Trigger
s.- Specified by:
pauseJob
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
-
pauseJobs
public void pauseJobs(GroupMatcher<JobKey> groupMatcher) throws SchedulerException
Pause all of the
in the matching groups - by pausing all of theirJobDetail
sTrigger
s.- Specified by:
pauseJobs
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
-
resumeTrigger
public void resumeTrigger(TriggerKey triggerKey) throws SchedulerException
Resume (un-pause) the
with the given name.Trigger
If the
Trigger
missed one or more fire-times, then theTrigger
's misfire instruction will be applied.- Specified by:
resumeTrigger
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
-
resumeTriggers
public void resumeTriggers(GroupMatcher<TriggerKey> matcher) throws SchedulerException
Resume (un-pause) all of the
in the matching groups.Trigger
sIf any
Trigger
missed one or more fire-times, then theTrigger
's misfire instruction will be applied.- Specified by:
resumeTriggers
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
-
getPausedTriggerGroups
public java.util.Set<java.lang.String> getPausedTriggerGroups() throws SchedulerException
- Specified by:
getPausedTriggerGroups
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
-
resumeJob
public void resumeJob(JobKey jobKey) throws SchedulerException
Resume (un-pause) the
with the given name.JobDetail
If any of the
Job
'sTrigger
s missed one or more fire-times, then theTrigger
's misfire instruction will be applied.- Specified by:
resumeJob
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
-
resumeJobs
public void resumeJobs(GroupMatcher<JobKey> matcher) throws SchedulerException
Resume (un-pause) all of the
in the matching groups.JobDetail
sIf any of the
Job
s hadTrigger
s that missed one or more fire-times, then theTrigger
's misfire instruction will be applied.- Specified by:
resumeJobs
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
-
pauseAll
public void pauseAll() throws SchedulerException
Pause all triggers - equivalent of calling
pauseTriggers(GroupMatcher)
with a matcher matching all known groups.When
resumeAll()
is called (to un-pause), trigger misfire instructions WILL be applied.- Specified by:
pauseAll
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
- See Also:
resumeAll()
,pauseTriggers(org.quartz.impl.matchers.GroupMatcher)
,standby()
-
resumeAll
public void resumeAll() throws SchedulerException
Resume (un-pause) all triggers - equivalent of calling
resumeTriggerGroup(group)
on every group.If any
Trigger
missed one or more fire-times, then theTrigger
's misfire instruction will be applied.- Specified by:
resumeAll
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
- See Also:
pauseAll()
-
getJobGroupNames
public java.util.List<java.lang.String> getJobGroupNames() throws SchedulerException
Get the names of all known
groups.Job
- Specified by:
getJobGroupNames
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
-
getJobKeys
public java.util.Set<JobKey> getJobKeys(GroupMatcher<JobKey> matcher) throws SchedulerException
Get the names of all the
in the matching groups.Job
s- Specified by:
getJobKeys
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
-
getTriggersOfJob
public java.util.List<? extends Trigger> getTriggersOfJob(JobKey jobKey) throws SchedulerException
- Specified by:
getTriggersOfJob
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
-
getTriggerGroupNames
public java.util.List<java.lang.String> getTriggerGroupNames() throws SchedulerException
Get the names of all known
groups.Trigger
- Specified by:
getTriggerGroupNames
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
-
getTriggerKeys
public java.util.Set<TriggerKey> getTriggerKeys(GroupMatcher<TriggerKey> matcher) throws SchedulerException
Get the names of all the
in the matching groups.Trigger
s- Specified by:
getTriggerKeys
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
-
getJobDetail
public JobDetail getJobDetail(JobKey jobKey) throws SchedulerException
Get the
for theJobDetail
Job
instance with the given name and group.- Specified by:
getJobDetail
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
-
getTrigger
public Trigger getTrigger(TriggerKey triggerKey) throws SchedulerException
Get the
instance with the given name and group.Trigger
- Specified by:
getTrigger
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
-
checkExists
public boolean checkExists(JobKey jobKey) throws SchedulerException
Determine whether aJob
with the given identifier already exists within the scheduler.- Specified by:
checkExists
in interfaceRemotableQuartzScheduler
- 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
Determine whether aTrigger
with the given identifier already exists within the scheduler.- Specified by:
checkExists
in interfaceRemotableQuartzScheduler
- Parameters:
triggerKey
- the identifier to check for- Returns:
- true if a Trigger exists with the given identifier
- Throws:
SchedulerException
-
clear
public void clear() throws SchedulerException
- Specified by:
clear
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
-
getTriggerState
public Trigger.TriggerState getTriggerState(TriggerKey triggerKey) throws SchedulerException
Get the current state of the identified
J *
.Trigger
- Specified by:
getTriggerState
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
- See Also:
Trigger.TriggerState
-
resetTriggerFromErrorState
public void resetTriggerFromErrorState(TriggerKey triggerKey) throws SchedulerException
- Specified by:
resetTriggerFromErrorState
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
-
addCalendar
public void addCalendar(java.lang.String calName, Calendar calendar, boolean replace, boolean updateTriggers) throws SchedulerException
Add (register) the given
Calendar
to the Scheduler.- Specified by:
addCalendar
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
- if there is an internal Scheduler error, or a Calendar with the same name already exists, andreplace
isfalse
.
-
deleteCalendar
public boolean deleteCalendar(java.lang.String calName) throws SchedulerException
Delete the identified
Calendar
from the Scheduler.- Specified by:
deleteCalendar
in interfaceRemotableQuartzScheduler
- 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
Get the
instance with the given name.Calendar
- Specified by:
getCalendar
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
-
getCalendarNames
public java.util.List<java.lang.String> getCalendarNames() throws SchedulerException
Get the names of all registered
.Calendar
s- Specified by:
getCalendarNames
in interfaceRemotableQuartzScheduler
- Throws:
SchedulerException
-
getListenerManager
public ListenerManager getListenerManager()
-
addInternalJobListener
public void addInternalJobListener(JobListener jobListener)
Add the given
to theJobListener
Scheduler
's internal list.
-
removeInternalJobListener
public boolean removeInternalJobListener(java.lang.String name)
Remove the identified
from theJobListener
Scheduler
's list of internal listeners.- Returns:
- true if the identified listener was found in the list, and removed.
-
getInternalJobListeners
public java.util.List<JobListener> getInternalJobListeners()
Get a List containing all of the
s in theJobListener
Scheduler
's internal list.
-
getInternalJobListener
public JobListener getInternalJobListener(java.lang.String name)
Get the internal
that has the given name.JobListener
-
addInternalTriggerListener
public void addInternalTriggerListener(TriggerListener triggerListener)
Add the given
to theTriggerListener
Scheduler
's internal list.
-
removeinternalTriggerListener
public boolean removeinternalTriggerListener(java.lang.String name)
Remove the identified
from theTriggerListener
Scheduler
's list of internal listeners.- Returns:
- true if the identified listener was found in the list, and removed.
-
getInternalTriggerListeners
public java.util.List<TriggerListener> getInternalTriggerListeners()
Get a list containing all of the
s in theTriggerListener
Scheduler
's internal list.
-
getInternalTriggerListener
public TriggerListener getInternalTriggerListener(java.lang.String name)
Get the internal
that has the given name.TriggerListener
-
addInternalSchedulerListener
public void addInternalSchedulerListener(SchedulerListener schedulerListener)
Register the given
with theSchedulerListener
Scheduler
's list of internal listeners.
-
removeInternalSchedulerListener
public boolean removeInternalSchedulerListener(SchedulerListener schedulerListener)
Remove the given
from theSchedulerListener
Scheduler
's list of internal listeners.- Returns:
- true if the identified listener was found in the list, and removed.
-
getInternalSchedulerListeners
public java.util.List<SchedulerListener> getInternalSchedulerListeners()
Get a List containing all of the internal
s registered with theSchedulerListener
Scheduler
.
-
notifyJobStoreJobComplete
protected void notifyJobStoreJobComplete(OperableTrigger trigger, JobDetail detail, Trigger.CompletedExecutionInstruction instCode)
-
notifyJobStoreJobVetoed
protected void notifyJobStoreJobVetoed(OperableTrigger trigger, JobDetail detail, Trigger.CompletedExecutionInstruction instCode)
-
notifySchedulerThread
protected void notifySchedulerThread(long candidateNewNextFireTime)
-
notifyTriggerListenersFired
public boolean notifyTriggerListenersFired(JobExecutionContext jec) throws SchedulerException
- Throws:
SchedulerException
-
notifyTriggerListenersMisfired
public void notifyTriggerListenersMisfired(Trigger trigger) throws SchedulerException
- Throws:
SchedulerException
-
notifyTriggerListenersComplete
public void notifyTriggerListenersComplete(JobExecutionContext jec, Trigger.CompletedExecutionInstruction instCode) throws SchedulerException
- Throws:
SchedulerException
-
notifyJobListenersToBeExecuted
public void notifyJobListenersToBeExecuted(JobExecutionContext jec) throws SchedulerException
- Throws:
SchedulerException
-
notifyJobListenersWasVetoed
public void notifyJobListenersWasVetoed(JobExecutionContext jec) throws SchedulerException
- Throws:
SchedulerException
-
notifyJobListenersWasExecuted
public void notifyJobListenersWasExecuted(JobExecutionContext jec, JobExecutionException je) throws SchedulerException
- Throws:
SchedulerException
-
notifySchedulerListenersError
public void notifySchedulerListenersError(java.lang.String msg, SchedulerException se)
-
notifySchedulerListenersSchduled
public void notifySchedulerListenersSchduled(Trigger trigger)
-
notifySchedulerListenersUnscheduled
public void notifySchedulerListenersUnscheduled(TriggerKey triggerKey)
-
notifySchedulerListenersFinalized
public void notifySchedulerListenersFinalized(Trigger trigger)
-
notifySchedulerListenersPausedTrigger
public void notifySchedulerListenersPausedTrigger(TriggerKey triggerKey)
-
notifySchedulerListenersPausedTriggers
public void notifySchedulerListenersPausedTriggers(java.lang.String group)
-
notifySchedulerListenersResumedTrigger
public void notifySchedulerListenersResumedTrigger(TriggerKey key)
-
notifySchedulerListenersResumedTriggers
public void notifySchedulerListenersResumedTriggers(java.lang.String group)
-
notifySchedulerListenersPausedJob
public void notifySchedulerListenersPausedJob(JobKey key)
-
notifySchedulerListenersPausedJobs
public void notifySchedulerListenersPausedJobs(java.lang.String group)
-
notifySchedulerListenersResumedJob
public void notifySchedulerListenersResumedJob(JobKey key)
-
notifySchedulerListenersResumedJobs
public void notifySchedulerListenersResumedJobs(java.lang.String group)
-
notifySchedulerListenersInStandbyMode
public void notifySchedulerListenersInStandbyMode()
-
notifySchedulerListenersStarted
public void notifySchedulerListenersStarted()
-
notifySchedulerListenersStarting
public void notifySchedulerListenersStarting()
-
notifySchedulerListenersShutdown
public void notifySchedulerListenersShutdown()
-
notifySchedulerListenersShuttingdown
public void notifySchedulerListenersShuttingdown()
-
notifySchedulerListenersJobAdded
public void notifySchedulerListenersJobAdded(JobDetail jobDetail)
-
notifySchedulerListenersJobDeleted
public void notifySchedulerListenersJobDeleted(JobKey jobKey)
-
setJobFactory
public void setJobFactory(JobFactory factory) throws SchedulerException
- Throws:
SchedulerException
-
getJobFactory
public JobFactory getJobFactory()
-
interrupt
public boolean interrupt(JobKey jobKey) throws UnableToInterruptJobException
Interrupt all instances of the identified InterruptableJob executing in this Scheduler instance.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 interfaceRemotableQuartzScheduler
- Throws:
UnableToInterruptJobException
- See Also:
RemotableQuartzScheduler.interrupt(JobKey)
-
interrupt
public boolean interrupt(java.lang.String fireInstanceId) throws UnableToInterruptJobException
Interrupt the identified InterruptableJob executing in this Scheduler instance.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 interfaceRemotableQuartzScheduler
- Throws:
UnableToInterruptJobException
- See Also:
RemotableQuartzScheduler.interrupt(JobKey)
-
-