public class RAMJobStore extends Object implements IJobStore
This class implements a
that utilizes RAM as its storage device.
IJobStore
As you should know, the ramification of this is that access is extrememly
fast, but the data is completely volatile - therefore this
JobStore should not be used if true persistence between program
shutdowns is required.
| Modifier and Type | Field and Description |
|---|---|
protected com.helger.commons.collection.impl.ICommonsSet<JobKey> |
m_aBlockedJobs |
protected com.helger.commons.collection.impl.ICommonsMap<String,ICalendar> |
m_aCalendarsByName |
protected com.helger.commons.collection.impl.ICommonsMap<String,com.helger.commons.collection.impl.ICommonsMap<JobKey,com.helger.quartz.simpl.JobWrapper>> |
m_aJobsByGroup |
protected com.helger.commons.collection.impl.ICommonsMap<JobKey,com.helger.quartz.simpl.JobWrapper> |
m_aJobsByKey |
protected Object |
m_aLock |
protected com.helger.commons.collection.impl.ICommonsSet<String> |
m_aPausedJobGroups |
protected com.helger.commons.collection.impl.ICommonsSet<String> |
m_aPausedTriggerGroups |
protected ISchedulerSignaler |
m_aSignaler |
protected com.helger.commons.collection.impl.ICommonsSortedSet<com.helger.quartz.simpl.TriggerWrapper> |
m_aTimeTriggers |
protected com.helger.commons.collection.impl.ICommonsList<com.helger.quartz.simpl.TriggerWrapper> |
m_aTriggers |
protected com.helger.commons.collection.impl.ICommonsMap<String,com.helger.commons.collection.impl.ICommonsMap<TriggerKey,com.helger.quartz.simpl.TriggerWrapper>> |
m_aTriggersByGroup |
protected com.helger.commons.collection.impl.ICommonsMap<TriggerKey,com.helger.quartz.simpl.TriggerWrapper> |
m_aTriggersByKey |
protected long |
m_nMisfireThreshold |
| Constructor and Description |
|---|
RAMJobStore()
Create a new
RAMJobStore. |
| Modifier and Type | Method and Description |
|---|---|
com.helger.commons.collection.impl.ICommonsList<IOperableTrigger> |
acquireNextTriggers(long noLaterThan,
int maxCount,
long timeWindow)
Get a handle to the next trigger to be fired, and mark it as 'reserved' by
the calling scheduler.
|
protected boolean |
applyMisfire(com.helger.quartz.simpl.TriggerWrapper tw) |
boolean |
checkExists(JobKey jobKey)
Determine whether a
IJob with the given
identifier already exists within the scheduler. |
boolean |
checkExists(TriggerKey triggerKey)
Determine whether a
ITrigger with the given identifier already
exists within the scheduler. |
void |
clearAllSchedulingData()
Clear (delete!)
|
com.helger.commons.collection.impl.ICommonsList<String> |
getCalendarNames()
Get the names of all of the
s in the
JobStore. |
long |
getEstimatedTimeToReleaseAndAcquireTrigger()
How long (in milliseconds) the
JobStore implementation
estimates that it will take to release a trigger and acquire a new one. |
protected String |
getFiredTriggerRecordId() |
com.helger.commons.collection.impl.ICommonsList<String> |
getJobGroupNames()
Get the names of all of the
groups. |
com.helger.commons.collection.impl.ICommonsSet<JobKey> |
getJobKeys(GroupMatcher<JobKey> matcher)
Get the names of all of the
s
that match the given groupMatcher. |
long |
getMisfireThreshold() |
int |
getNumberOfCalendars()
Get the number of
s that
are stored in the JobsStore. |
int |
getNumberOfJobs()
Get the number of
s that
are stored in the JobsStore. |
int |
getNumberOfTriggers()
Get the number of
s that
are stored in the JobsStore. |
com.helger.commons.collection.impl.ICommonsSet<String> |
getPausedTriggerGroups() |
com.helger.commons.collection.impl.ICommonsList<String> |
getTriggerGroupNames()
Get the names of all of the
groups. |
com.helger.commons.collection.impl.ICommonsSet<TriggerKey> |
getTriggerKeys(GroupMatcher<TriggerKey> matcher)
Get the names of all of the
s that match the given groupMatcher. |
com.helger.commons.collection.impl.ICommonsList<IOperableTrigger> |
getTriggersForJob(JobKey jobKey)
Get all of the Triggers that are associated to the given Job.
|
ITrigger.ETriggerState |
getTriggerState(TriggerKey triggerKey)
Get the current state of the identified
. |
protected com.helger.commons.collection.impl.ICommonsList<com.helger.quartz.simpl.TriggerWrapper> |
getTriggerWrappersForCalendar(String calName) |
protected com.helger.commons.collection.impl.ICommonsList<com.helger.quartz.simpl.TriggerWrapper> |
getTriggerWrappersForJob(JobKey jobKey) |
void |
initialize(IClassLoadHelper loadHelper,
ISchedulerSignaler schedSignaler)
Called by the QuartzScheduler before the
JobStore is used, in
order to give the it a chance to initialize. |
boolean |
isClustered()
Whether or not the
JobStore implementation is clustered. |
void |
pauseAll()
Pause all triggers - equivalent of calling
pauseTriggerGroup(group) on every group. |
void |
pauseJob(JobKey jobKey)
Pause the
with the given
name - by pausing all of its current Triggers. |
com.helger.commons.collection.impl.ICommonsList<String> |
pauseJobs(GroupMatcher<JobKey> matcher)
Pause all of the
in the
given group - by pausing all of their Triggers. |
void |
pauseTrigger(TriggerKey triggerKey)
Pause the
with the given name. |
com.helger.commons.collection.impl.ICommonsList<String> |
pauseTriggers(GroupMatcher<TriggerKey> matcher)
Pause all of the known
matching. |
protected String |
peekTriggers() |
void |
releaseAcquiredTrigger(IOperableTrigger trigger)
Inform the
JobStore that the scheduler no longer plans to fire
the given Trigger, that it had previously acquired (reserved). |
boolean |
removeCalendar(String calName)
Remove (delete) the
with
the given name. |
boolean |
removeJob(JobKey jobKey)
|
boolean |
removeJobs(List<JobKey> jobKeys) |
boolean |
removeTrigger(TriggerKey triggerKey)
Remove (delete) the
with
the given name. |
boolean |
removeTriggers(List<TriggerKey> triggerKeys) |
boolean |
replaceTrigger(TriggerKey triggerKey,
IOperableTrigger newTrigger)
Remove (delete) the
with
the given key, and store the new given one - which must be associated with
the same job. |
void |
resumeAll()
Resume (un-pause) all triggers - equivalent of calling
resumeTriggerGroup(group) on every group. |
void |
resumeJob(JobKey jobKey)
Resume (un-pause) the
with the given name. |
com.helger.commons.collection.impl.ICommonsCollection<String> |
resumeJobs(GroupMatcher<JobKey> matcher)
Resume (un-pause) all of the
in the given group. |
void |
resumeTrigger(TriggerKey triggerKey)
Resume (un-pause) the
with the given key. |
com.helger.commons.collection.impl.ICommonsList<String> |
resumeTriggers(GroupMatcher<TriggerKey> matcher)
Resume (un-pause) all of the
in the given
group. |
ICalendar |
retrieveCalendar(String calName)
Retrieve the given
. |
IJobDetail |
retrieveJob(JobKey jobKey)
Retrieve the
for the
given . |
IOperableTrigger |
retrieveTrigger(TriggerKey triggerKey)
Retrieve the given
. |
void |
schedulerPaused()
Called by the QuartzScheduler to inform the
JobStore that the
scheduler has been paused. |
void |
schedulerResumed()
Called by the QuartzScheduler to inform the
JobStore that the
scheduler has resumed after being paused. |
void |
schedulerStarted()
Called by the QuartzScheduler to inform the
JobStore that the
scheduler has started. |
protected void |
setAllTriggersOfJobToState(JobKey jobKey,
int state) |
void |
setInstanceId(String schedInstId)
Inform the
JobStore of the Scheduler instance's Id, prior to
initialize being invoked. |
void |
setInstanceName(String schedName)
Inform the
JobStore of the Scheduler instance's name, prior to
initialize being invoked. |
void |
setMisfireThreshold(long misfireThreshold)
The number of milliseconds by which a trigger must have missed its
next-fire-time, in order for it to be considered "misfired" and thus have
its misfire instruction applied.
|
void |
setThreadPoolSize(int poolSize)
Tells the JobStore the pool size used to execute jobs
|
void |
shutdown()
Called by the QuartzScheduler to inform the
JobStore that it
should free up all of it's resources because the scheduler is shutting
down. |
void |
storeCalendar(String name,
ICalendar aCalendar,
boolean replaceExisting,
boolean updateTriggers)
Store the given
. |
void |
storeJob(IJobDetail newJob,
boolean bReplaceExisting)
Store the given
. |
void |
storeJobAndTrigger(IJobDetail newJob,
IOperableTrigger newTrigger)
Store the given
and
. |
void |
storeJobsAndTriggers(Map<IJobDetail,Set<? extends ITrigger>> triggersAndJobs,
boolean replace) |
void |
storeTrigger(IOperableTrigger newTrigger,
boolean bReplaceExisting)
Store the given
. |
boolean |
supportsPersistence() |
void |
triggeredJobComplete(IOperableTrigger trigger,
IJobDetail jobDetail,
ITrigger.ECompletedExecutionInstruction triggerInstCode)
Inform the
JobStore that the scheduler has completed the
firing of the given Trigger (and the execution its associated
Job), and that the
in the given
JobDetail should be updated if the Job is
stateful. |
com.helger.commons.collection.impl.ICommonsList<TriggerFiredResult> |
triggersFired(List<IOperableTrigger> firedTriggers)
Inform the
JobStore that the scheduler is now firing the given
Trigger (executing its associated Job), that it
had previously acquired (reserved). |
protected final com.helger.commons.collection.impl.ICommonsMap<JobKey,com.helger.quartz.simpl.JobWrapper> m_aJobsByKey
protected final com.helger.commons.collection.impl.ICommonsMap<TriggerKey,com.helger.quartz.simpl.TriggerWrapper> m_aTriggersByKey
protected final com.helger.commons.collection.impl.ICommonsMap<String,com.helger.commons.collection.impl.ICommonsMap<JobKey,com.helger.quartz.simpl.JobWrapper>> m_aJobsByGroup
protected final com.helger.commons.collection.impl.ICommonsMap<String,com.helger.commons.collection.impl.ICommonsMap<TriggerKey,com.helger.quartz.simpl.TriggerWrapper>> m_aTriggersByGroup
protected final com.helger.commons.collection.impl.ICommonsSortedSet<com.helger.quartz.simpl.TriggerWrapper> m_aTimeTriggers
protected final com.helger.commons.collection.impl.ICommonsMap<String,ICalendar> m_aCalendarsByName
protected final com.helger.commons.collection.impl.ICommonsList<com.helger.quartz.simpl.TriggerWrapper> m_aTriggers
protected final Object m_aLock
protected final com.helger.commons.collection.impl.ICommonsSet<String> m_aPausedTriggerGroups
protected final com.helger.commons.collection.impl.ICommonsSet<String> m_aPausedJobGroups
protected final com.helger.commons.collection.impl.ICommonsSet<JobKey> m_aBlockedJobs
protected long m_nMisfireThreshold
protected ISchedulerSignaler m_aSignaler
public void initialize(IClassLoadHelper loadHelper, ISchedulerSignaler schedSignaler)
Called by the QuartzScheduler before the JobStore is used, in
order to give the it a chance to initialize.
initialize in interface IJobStorepublic void schedulerStarted()
IJobStoreJobStore that the
scheduler has started.schedulerStarted in interface IJobStorepublic void schedulerPaused()
IJobStoreJobStore that the
scheduler has been paused.schedulerPaused in interface IJobStorepublic void schedulerResumed()
IJobStoreJobStore that the
scheduler has resumed after being paused.schedulerResumed in interface IJobStorepublic long getMisfireThreshold()
public void setMisfireThreshold(long misfireThreshold)
misfireThreshold - the new misfire thresholdpublic void shutdown()
Called by the QuartzScheduler to inform the JobStore that it
should free up all of it's resources because the scheduler is shutting
down.
public boolean supportsPersistence()
supportsPersistence in interface IJobStorepublic void clearAllSchedulingData()
throws JobPersistenceException
clearAllSchedulingData in interface IJobStoreJobPersistenceException - on errorpublic void storeJobAndTrigger(IJobDetail newJob, IOperableTrigger newTrigger) throws JobPersistenceException
Store the given and
IJobDetail.
ITrigger
storeJobAndTrigger in interface IJobStorenewJob - The JobDetail to be stored.newTrigger - The Trigger to be stored.ObjectAlreadyExistsException - if a Job with the same name/group already exists.JobPersistenceException - if a Job with the same name/group already exists.public void storeJob(IJobDetail newJob, boolean bReplaceExisting) throws ObjectAlreadyExistsException
Store the given .
IJob
storeJob in interface IJobStorenewJob - The Job to be stored.bReplaceExisting - If true, any Job existing in the
JobStore with the same name & group should be
over-written.ObjectAlreadyExistsException - if a Job with the same name/group already exists, and
replaceExisting is set to false.public boolean removeJob(JobKey jobKey)
public boolean removeJobs(List<JobKey> jobKeys) throws JobPersistenceException
removeJobs in interface IJobStoreJobPersistenceExceptionpublic boolean removeTriggers(List<TriggerKey> triggerKeys) throws JobPersistenceException
removeTriggers in interface IJobStoreJobPersistenceExceptionpublic void storeJobsAndTriggers(Map<IJobDetail,Set<? extends ITrigger>> triggersAndJobs, boolean replace) throws JobPersistenceException
storeJobsAndTriggers in interface IJobStoreJobPersistenceExceptionpublic void storeTrigger(IOperableTrigger newTrigger, boolean bReplaceExisting) throws JobPersistenceException
Store the given .
ITrigger
storeTrigger in interface IJobStorenewTrigger - The Trigger to be stored.bReplaceExisting - If true, any Trigger existing in the
JobStore with the same name & group should be
over-written.ObjectAlreadyExistsException - if a Trigger with the same name/group already exists,
and replaceExisting is set to false.JobPersistenceException - if a Trigger with the same name/group already exists,
and replaceExisting is set to false.pauseTriggers(com.helger.quartz.impl.matchers.GroupMatcher)public boolean removeTrigger(TriggerKey triggerKey)
Remove (delete) the with
the given name.
ITrigger
removeTrigger in interface IJobStoretrue if a Trigger with the given name
& group was found and removed from the store.public boolean replaceTrigger(TriggerKey triggerKey, IOperableTrigger newTrigger) throws JobPersistenceException
IJobStoreITrigger with
the given key, and store the new given one - which must be associated with
the same job.replaceTrigger in interface IJobStorenewTrigger - The new Trigger to be stored.true if a Trigger with the given name
& group was found and removed from the store.JobPersistenceExceptionIJobStore.replaceTrigger(TriggerKey triggerKey,
IOperableTrigger newTrigger)public IJobDetail retrieveJob(JobKey jobKey)
Retrieve the for the
given IJobDetail.
IJob
retrieveJob in interface IJobStoreJob, or null if there is no match.public IOperableTrigger retrieveTrigger(TriggerKey triggerKey)
Retrieve the given .
ITrigger
retrieveTrigger in interface IJobStoreTrigger, or null if there is no match.public boolean checkExists(JobKey jobKey) throws JobPersistenceException
IJob with the given
identifier already exists within the scheduler.checkExists in interface IJobStorejobKey - the identifier to check forJobPersistenceException - on errorpublic boolean checkExists(TriggerKey triggerKey) throws JobPersistenceException
ITrigger with the given identifier already
exists within the scheduler.checkExists in interface IJobStoretriggerKey - the identifier to check forJobPersistenceException - on errorpublic ITrigger.ETriggerState getTriggerState(TriggerKey triggerKey) throws JobPersistenceException
Get the current state of the identified .
ITrigger
getTriggerState in interface IJobStoreJobPersistenceExceptionITrigger.ETriggerState.NORMAL,
ITrigger.ETriggerState.PAUSED,
ITrigger.ETriggerState.COMPLETE,
ITrigger.ETriggerState.ERROR,
ITrigger.ETriggerState.BLOCKED,
ITrigger.ETriggerState.NONEpublic void storeCalendar(String name, ICalendar aCalendar, boolean replaceExisting, boolean updateTriggers) throws ObjectAlreadyExistsException
Store the given .
ICalendar
storeCalendar in interface IJobStorename - NameaCalendar - The ICalendar to be stored.replaceExisting - If true, any Calendar existing in the
JobStore with the same name & group should be
over-written.updateTriggers - If true, any Triggers existing in the
JobStore that reference an existing Calendar with the
same name with have their next fire time re-computed with the new
Calendar.ObjectAlreadyExistsException - if a Calendar with the same name already exists, and
replaceExisting is set to false.public boolean removeCalendar(String calName) throws JobPersistenceException
Remove (delete) the with
the given name.
ICalendar
If removal of the Calendar would result in
Triggers pointing to non-existent calendars, then a
JobPersistenceException will be thrown.
removeCalendar in interface IJobStorecalName - The name of the Calendar to be removed.true if a Calendar with the given name
was found and removed from the store.JobPersistenceExceptionpublic ICalendar retrieveCalendar(String calName)
Retrieve the given .
ITrigger
retrieveCalendar in interface IJobStorecalName - The name of the Calendar to be retrieved.Calendar, or null if there is no match.public int getNumberOfJobs()
Get the number of s that
are stored in the IJobDetailJobsStore.
getNumberOfJobs in interface IJobStorepublic int getNumberOfTriggers()
Get the number of s that
are stored in the ITriggerJobsStore.
getNumberOfTriggers in interface IJobStorepublic int getNumberOfCalendars()
Get the number of s that
are stored in the ICalendarJobsStore.
getNumberOfCalendars in interface IJobStorepublic com.helger.commons.collection.impl.ICommonsSet<JobKey> getJobKeys(GroupMatcher<JobKey> matcher)
Get the names of all of the s
that match the given groupMatcher.
IJob
getJobKeys in interface IJobStorepublic com.helger.commons.collection.impl.ICommonsList<String> getCalendarNames()
Get the names of all of the
s in the
ICalendarJobStore.
If there are no Calendars in the given group name, the result should be a
zero-length array (not null).
getCalendarNames in interface IJobStorepublic com.helger.commons.collection.impl.ICommonsSet<TriggerKey> getTriggerKeys(GroupMatcher<TriggerKey> matcher)
Get the names of all of the
s that match the given groupMatcher.
ITrigger
getTriggerKeys in interface IJobStorepublic com.helger.commons.collection.impl.ICommonsList<String> getJobGroupNames()
Get the names of all of the
groups.
IJob
getJobGroupNames in interface IJobStorepublic com.helger.commons.collection.impl.ICommonsList<String> getTriggerGroupNames()
Get the names of all of the
groups.
ITrigger
getTriggerGroupNames in interface IJobStorepublic com.helger.commons.collection.impl.ICommonsList<IOperableTrigger> getTriggersForJob(JobKey jobKey)
Get all of the Triggers that are associated to the given Job.
If there are no matches, a zero-length array should be returned.
getTriggersForJob in interface IJobStoreprotected com.helger.commons.collection.impl.ICommonsList<com.helger.quartz.simpl.TriggerWrapper> getTriggerWrappersForJob(JobKey jobKey)
protected com.helger.commons.collection.impl.ICommonsList<com.helger.quartz.simpl.TriggerWrapper> getTriggerWrappersForCalendar(String calName)
public void pauseTrigger(TriggerKey triggerKey)
Pause the with the given name.
ITrigger
pauseTrigger in interface IJobStoreIJobStore.resumeTrigger(TriggerKey)public com.helger.commons.collection.impl.ICommonsList<String> pauseTriggers(GroupMatcher<TriggerKey> matcher)
Pause all of the known matching.
ITriggers
The JobStore should "remember" the groups paused, and impose the pause on any new triggers that are added to one of these groups while the group is paused.
pauseTriggers in interface IJobStoreIJobStore.resumeTriggers(GroupMatcher)public void pauseJob(JobKey jobKey)
Pause the with the given
name - by pausing all of its current IJobDetailTriggers.
pauseJob in interface IJobStoreIJobStore.resumeJob(JobKey)public com.helger.commons.collection.impl.ICommonsList<String> pauseJobs(GroupMatcher<JobKey> matcher)
Pause all of the in the
given group - by pausing all of their IJobDetailsTriggers.
The JobStore should "remember" that the group is paused, and impose the pause on any new jobs that are added to the group while the group is paused.
pauseJobs in interface IJobStoreIJobStore.resumeJobs(GroupMatcher)public void resumeTrigger(TriggerKey triggerKey)
Resume (un-pause) the with the given key.
ITrigger
If the Trigger missed one or more fire-times, then the
Trigger's misfire instruction will be applied.
resumeTrigger in interface IJobStoreIJobStore.pauseTrigger(TriggerKey)public com.helger.commons.collection.impl.ICommonsList<String> resumeTriggers(GroupMatcher<TriggerKey> matcher)
Resume (un-pause) all of the in the given
group.
ITriggers
If any Trigger missed one or more fire-times, then the
Trigger's misfire instruction will be applied.
resumeTriggers in interface IJobStoreIJobStore.pauseTriggers(GroupMatcher)public void resumeJob(JobKey jobKey)
Resume (un-pause) the
with the given name.
IJobDetail
If any of the Job'sTrigger s missed one or more
fire-times, then the Trigger's misfire instruction will be
applied.
resumeJob in interface IJobStoreIJobStore.pauseJob(JobKey)public com.helger.commons.collection.impl.ICommonsCollection<String> resumeJobs(GroupMatcher<JobKey> matcher)
Resume (un-pause) all of the
in the given group.
IJobDetails
If any of the Job s had Trigger s that missed one
or more fire-times, then the Trigger's misfire instruction
will be applied.
resumeJobs in interface IJobStoreIJobStore.pauseJobs(GroupMatcher)public void pauseAll()
Pause all triggers - equivalent of calling
pauseTriggerGroup(group) on every group.
When resumeAll() is called (to un-pause), trigger misfire
instructions WILL be applied.
pauseAll in interface IJobStoreresumeAll(),
pauseTrigger(com.helger.quartz.TriggerKey),
pauseTriggers(com.helger.quartz.impl.matchers.GroupMatcher)public void resumeAll()
Resume (un-pause) all triggers - equivalent of calling
resumeTriggerGroup(group) on every group.
If any Trigger missed one or more fire-times, then the
Trigger's misfire instruction will be applied.
resumeAll in interface IJobStorepauseAll()protected boolean applyMisfire(com.helger.quartz.simpl.TriggerWrapper tw)
public com.helger.commons.collection.impl.ICommonsList<IOperableTrigger> acquireNextTriggers(long noLaterThan, int maxCount, long timeWindow)
Get a handle to the next trigger to be fired, and mark it as 'reserved' by the calling scheduler.
acquireNextTriggers in interface IJobStorenoLaterThan - If > 0, the JobStore should only return a Trigger that will fire
no later than the time represented in this value as milliseconds.releaseAcquiredTrigger(IOperableTrigger)public void releaseAcquiredTrigger(IOperableTrigger trigger)
Inform the JobStore that the scheduler no longer plans to fire
the given Trigger, that it had previously acquired (reserved).
releaseAcquiredTrigger in interface IJobStorepublic com.helger.commons.collection.impl.ICommonsList<TriggerFiredResult> triggersFired(List<IOperableTrigger> firedTriggers)
Inform the JobStore that the scheduler is now firing the given
Trigger (executing its associated Job), that it
had previously acquired (reserved).
triggersFired in interface IJobStorepublic void triggeredJobComplete(IOperableTrigger trigger, IJobDetail jobDetail, ITrigger.ECompletedExecutionInstruction triggerInstCode)
Inform the JobStore that the scheduler has completed the
firing of the given Trigger (and the execution its associated
Job), and that the
in the given
JobDataMapJobDetail should be updated if the Job is
stateful.
triggeredJobComplete in interface IJobStoreprotected void setAllTriggersOfJobToState(JobKey jobKey, int state)
protected String peekTriggers()
public com.helger.commons.collection.impl.ICommonsSet<String> getPausedTriggerGroups() throws JobPersistenceException
getPausedTriggerGroups in interface IJobStoreJobPersistenceExceptionIJobStore.getPausedTriggerGroups()public void setInstanceId(String schedInstId)
IJobStoreJobStore of the Scheduler instance's Id, prior to
initialize being invoked.setInstanceId in interface IJobStorepublic void setInstanceName(String schedName)
IJobStoreJobStore of the Scheduler instance's name, prior to
initialize being invoked.setInstanceName in interface IJobStorepublic void setThreadPoolSize(int poolSize)
IJobStoresetThreadPoolSize in interface IJobStorepoolSize - amount of threads allocated for job executionpublic long getEstimatedTimeToReleaseAndAcquireTrigger()
IJobStoreJobStore implementation
estimates that it will take to release a trigger and acquire a new one.getEstimatedTimeToReleaseAndAcquireTrigger in interface IJobStorepublic boolean isClustered()
IJobStoreJobStore implementation is clustered.isClustered in interface IJobStoreCopyright © 2016–2021 Philip Helger. All rights reserved.