|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.terracotta.quartz.PlainTerracottaJobStore<T>
public class PlainTerracottaJobStore<T extends ClusteredJobStore>
Field Summary | |
---|---|
protected ToolkitInternal |
toolkit
|
Constructor Summary | |
---|---|
PlainTerracottaJobStore(ToolkitInternal toolkit)
|
Method Summary | |
---|---|
List<OperableTrigger> |
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. |
boolean |
checkExists(JobKey jobKey)
Determine whether a Job with the given identifier already
exists within the scheduler. |
boolean |
checkExists(TriggerKey triggerKey)
Determine whether a Trigger with the given identifier already
exists within the scheduler. |
void |
clearAllSchedulingData()
Clear (delete!) all scheduling data - all Job s, Trigger s
Calendar s. |
protected T |
createNewJobStoreInstance(String schedulerName,
boolean useSynchWrite)
|
List<String> |
getCalendarNames()
Get the names of all of the s
in the JobStore . |
protected T |
getClusteredJobStore()
|
long |
getEstimatedTimeToReleaseAndAcquireTrigger()
How long (in milliseconds) the JobStore implementation
estimates that it will take to release a trigger and acquire a new one. |
List<String> |
getJobGroupNames()
Get the names of all of the
groups. |
Set<JobKey> |
getJobKeys(GroupMatcher<JobKey> matcher)
Get the keys of all of the s that
have the given group name. |
String |
getName()
Get the name of the JobListener . |
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 . |
Set<String> |
getPausedTriggerGroups()
|
List<String> |
getTriggerGroupNames()
Get the names of all of the
groups. |
Set<TriggerKey> |
getTriggerKeys(GroupMatcher<TriggerKey> matcher)
Get the names of all of the s
that have the given group name. |
List<OperableTrigger> |
getTriggersForJob(JobKey jobKey)
Get all of the Triggers that are associated to the given Job. |
Trigger.TriggerState |
getTriggerState(TriggerKey triggerKey)
Get the current state of the identified . |
String |
getUUID()
|
void |
initialize(ClassLoadHelper loadHelper,
SchedulerSignaler signaler)
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 |
jobExecutionVetoed(JobExecutionContext context)
Called by the when a
was about to be executed (an associated
has occurred), but a vetoed it's
execution. |
void |
jobToBeExecuted(JobExecutionContext context)
Called by the when a
is about to be executed (an associated
has occurred). |
void |
jobWasExecuted(JobExecutionContext context,
JobExecutionException jobException)
Called by the after a
has been executed, and be for the associated Trigger 's
triggered(xx) method has been called. |
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 Trigger s. |
Collection<String> |
pauseJobs(GroupMatcher<JobKey> matcher)
Pause all of the in the given
group - by pausing all of their Trigger s. |
void |
pauseTrigger(TriggerKey triggerKey)
Pause the with the given key. |
Collection<String> |
pauseTriggers(GroupMatcher<TriggerKey> matcher)
Pause all of the in the
given group. |
void |
releaseAcquiredTrigger(OperableTrigger 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)
Remove (delete) the with the given
key, and any s that reference
it. |
boolean |
removeJobs(List<JobKey> jobKeys)
|
boolean |
removeTrigger(TriggerKey triggerKey)
Remove (delete) the with the
given key. |
boolean |
removeTriggers(List<TriggerKey> triggerKeys)
|
boolean |
replaceTrigger(TriggerKey triggerKey,
OperableTrigger 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 key. |
Collection<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. |
Collection<String> |
resumeTriggers(GroupMatcher<TriggerKey> matcher)
Resume (un-pause) all of the
in the given group. |
Calendar |
retrieveCalendar(String calName)
Retrieve the given . |
JobDetail |
retrieveJob(JobKey jobKey)
Retrieve the for the given
. |
OperableTrigger |
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. |
void |
setEstimatedTimeToReleaseAndAcquireTrigger(long estimate)
|
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 threshold)
|
void |
setSynchronousWrite(String synchWrite)
|
void |
setTcRetryInterval(long retryInterval)
|
void |
setThreadPoolSize(int size)
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,
Calendar calendar,
boolean replaceExisting,
boolean updateTriggers)
Store the given . |
void |
storeJob(JobDetail newJob,
boolean replaceExisting)
Store the given . |
void |
storeJobAndTrigger(JobDetail newJob,
OperableTrigger newTrigger)
Store the given and . |
void |
storeJobsAndTriggers(Map<JobDetail,Set<? extends Trigger>> triggersAndJobs,
boolean replace)
|
void |
storeTrigger(OperableTrigger newTrigger,
boolean replaceExisting)
Store the given . |
boolean |
supportsPersistence()
|
String |
toString()
|
void |
triggeredJobComplete(OperableTrigger trigger,
JobDetail jobDetail,
Trigger.CompletedExecutionInstruction triggerInstCode)
Inform the JobStore that the scheduler has completed the
firing of the given Trigger (and the execution of its
associated Job completed, threw an exception, or was vetoed),
and that the
in the given JobDetail should be updated if the Job
is stateful. |
List<TriggerFiredResult> |
triggersFired(List<OperableTrigger> triggers)
Inform the JobStore that the scheduler is now firing the
given Trigger (executing its associated Job ),
that it had previously acquired (reserved). |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected final ToolkitInternal toolkit
Constructor Detail |
---|
public PlainTerracottaJobStore(ToolkitInternal toolkit)
Method Detail |
---|
public void setSynchronousWrite(String synchWrite)
setSynchronousWrite
in interface TerracottaJobStoreExtensions
public void setThreadPoolSize(int size)
JobStore
setThreadPoolSize
in interface JobStore
setThreadPoolSize
in interface TerracottaJobStoreExtensions
size
- amount of threads allocated for job executionpublic List<OperableTrigger> acquireNextTriggers(long noLaterThan, int maxCount, long timeWindow) throws JobPersistenceException
JobStore
acquireNextTriggers
in interface JobStore
noLaterThan
- If > 0, the JobStore should only return a Trigger
that will fire no later than the time represented in this value as
milliseconds.
JobPersistenceException
#releaseAcquiredTrigger(Trigger)
public List<String> getCalendarNames() throws JobPersistenceException
JobStore
Calendar
s
in the JobStore
.
If there are no Calendars in the given group name, the result should be
a zero-length array (not null
).
getCalendarNames
in interface JobStore
JobPersistenceException
public List<String> getJobGroupNames() throws JobPersistenceException
JobStore
Job
groups.
If there are no known group names, the result should be a zero-length
array (not null
).
getJobGroupNames
in interface JobStore
JobPersistenceException
public Set<JobKey> getJobKeys(GroupMatcher<JobKey> matcher) throws JobPersistenceException
JobStore
Job
s that
have the given group name.
If there are no jobs in the given group name, the result should be
an empty collection (not null
).
getJobKeys
in interface JobStore
JobPersistenceException
public int getNumberOfCalendars() throws JobPersistenceException
JobStore
Calendar
s that are
stored in the JobsStore
.
getNumberOfCalendars
in interface JobStore
JobPersistenceException
public int getNumberOfJobs() throws JobPersistenceException
JobStore
Job
s that are
stored in the JobsStore
.
getNumberOfJobs
in interface JobStore
JobPersistenceException
public int getNumberOfTriggers() throws JobPersistenceException
JobStore
Trigger
s that are
stored in the JobsStore
.
getNumberOfTriggers
in interface JobStore
JobPersistenceException
public Set<String> getPausedTriggerGroups() throws JobPersistenceException
getPausedTriggerGroups
in interface JobStore
JobPersistenceException
public List<String> getTriggerGroupNames() throws JobPersistenceException
JobStore
Trigger
groups.
If there are no known group names, the result should be a zero-length
array (not null
).
getTriggerGroupNames
in interface JobStore
JobPersistenceException
public Set<TriggerKey> getTriggerKeys(GroupMatcher<TriggerKey> matcher) throws JobPersistenceException
JobStore
Trigger
s
that have the given group name.
If there are no triggers in the given group name, the result should be a
zero-length array (not null
).
getTriggerKeys
in interface JobStore
JobPersistenceException
public List<OperableTrigger> getTriggersForJob(JobKey jobKey) throws JobPersistenceException
JobStore
If there are no matches, a zero-length array should be returned.
getTriggersForJob
in interface JobStore
JobPersistenceException
public Trigger.TriggerState getTriggerState(TriggerKey triggerKey) throws JobPersistenceException
JobStore
Trigger
.
getTriggerState
in interface JobStore
JobPersistenceException
Trigger.TriggerState
public void initialize(ClassLoadHelper loadHelper, SchedulerSignaler signaler) throws SchedulerConfigException
JobStore
JobStore
is
used, in order to give the it a chance to initialize.
initialize
in interface JobStore
SchedulerConfigException
public void pauseAll() throws JobPersistenceException
JobStore
pauseTriggerGroup(group)
on every group.
When resumeAll()
is called (to un-pause), trigger misfire
instructions WILL be applied.
pauseAll
in interface JobStore
JobPersistenceException
JobStore.resumeAll()
,
#pauseTriggers(String)
public void pauseJob(JobKey jobKey) throws JobPersistenceException
JobStore
Job
with the given name - by
pausing all of its current Trigger
s.
pauseJob
in interface JobStore
JobPersistenceException
JobStore.resumeJob(JobKey)
public Collection<String> pauseJobs(GroupMatcher<JobKey> matcher) throws JobPersistenceException
JobStore
Job
s
in the given
group - by pausing all of their Trigger
s.
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 JobStore
JobPersistenceException
#resumeJobGroup(String)
public void pauseTrigger(TriggerKey triggerKey) throws JobPersistenceException
JobStore
Trigger
with the given key.
pauseTrigger
in interface JobStore
JobPersistenceException
JobStore.resumeTrigger(TriggerKey)
public Collection<String> pauseTriggers(GroupMatcher<TriggerKey> matcher) throws JobPersistenceException
JobStore
Trigger
s
in the
given group.
The JobStore should "remember" that the group is paused, and impose the pause on any new triggers that are added to the group while the group is paused.
pauseTriggers
in interface JobStore
JobPersistenceException
#resumeTriggerGroup(String)
public void releaseAcquiredTrigger(OperableTrigger trigger)
JobStore
JobStore
that the scheduler no longer plans to
fire the given Trigger
, that it had previously acquired
(reserved).
releaseAcquiredTrigger
in interface JobStore
public List<TriggerFiredResult> triggersFired(List<OperableTrigger> triggers) throws JobPersistenceException
JobStore
JobStore
that the scheduler is now firing the
given Trigger
(executing its associated Job
),
that it had previously acquired (reserved).
triggersFired
in interface JobStore
JobPersistenceException
public boolean removeCalendar(String calName) throws JobPersistenceException
JobStore
Calendar
with the
given name.
If removal of the Calendar
would result in
Trigger
s pointing to non-existent calendars, then a
JobPersistenceException
will be thrown.
removeCalendar
in interface JobStore
calName
- The name of the Calendar
to be removed.
true
if a Calendar
with the given name
was found and removed from the store.
JobPersistenceException
public boolean removeJob(JobKey jobKey) throws JobPersistenceException
JobStore
Job
with the given
key, and any Trigger
s that reference
it.
If removal of the Job
results in an empty group, the
group should be removed from the JobStore
's list of
known group names.
removeJob
in interface JobStore
true
if a Job
with the given name &
group was found and removed from the store.
JobPersistenceException
public boolean removeTrigger(TriggerKey triggerKey) throws JobPersistenceException
JobStore
Trigger
with the
given key.
If removal of the Trigger
results in an empty group, the
group should be removed from the JobStore
's list of
known group names.
If removal of the Trigger
results in an 'orphaned' Job
that is not 'durable', then the Job
should be deleted
also.
removeTrigger
in interface JobStore
true
if a Trigger
with the given
name & group was found and removed from the store.
JobPersistenceException
public boolean removeJobs(List<JobKey> jobKeys) throws JobPersistenceException
removeJobs
in interface JobStore
JobPersistenceException
public boolean removeTriggers(List<TriggerKey> triggerKeys) throws JobPersistenceException
removeTriggers
in interface JobStore
JobPersistenceException
public void storeJobsAndTriggers(Map<JobDetail,Set<? extends Trigger>> triggersAndJobs, boolean replace) throws JobPersistenceException
storeJobsAndTriggers
in interface JobStore
JobPersistenceException
public boolean replaceTrigger(TriggerKey triggerKey, OperableTrigger newTrigger) throws JobPersistenceException
JobStore
Trigger
with the
given key, and store the new given one - which must be associated
with the same job.
replaceTrigger
in interface JobStore
newTrigger
- The new Trigger
to be stored.
true
if a Trigger
with the given
name & group was found and removed from the store.
JobPersistenceException
public void resumeAll() throws JobPersistenceException
JobStore
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 JobStore
JobPersistenceException
JobStore.pauseAll()
public void resumeJob(JobKey jobKey) throws JobPersistenceException
JobStore
Job
with the
given key.
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 JobStore
JobPersistenceException
JobStore.pauseJob(JobKey)
public Collection<String> resumeJobs(GroupMatcher<JobKey> matcher) throws JobPersistenceException
JobStore
Job
s
in
the given group.
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 JobStore
JobPersistenceException
#pauseJobGroup(String)
public void resumeTrigger(TriggerKey triggerKey) throws JobPersistenceException
JobStore
Trigger
with the
given key.
If the Trigger
missed one or more fire-times, then the
Trigger
's misfire instruction will be applied.
resumeTrigger
in interface JobStore
JobPersistenceException
JobStore.pauseTrigger(TriggerKey)
public Collection<String> resumeTriggers(GroupMatcher<TriggerKey> matcher) throws JobPersistenceException
JobStore
Trigger
s
in the given group.
If any Trigger
missed one or more fire-times, then the
Trigger
's misfire instruction will be applied.
resumeTriggers
in interface JobStore
JobPersistenceException
#pauseTriggers(String)
public Calendar retrieveCalendar(String calName) throws JobPersistenceException
JobStore
Trigger
.
retrieveCalendar
in interface JobStore
calName
- The name of the Calendar
to be retrieved.
Calendar
, or null if there is no
match.
JobPersistenceException
public JobDetail retrieveJob(JobKey jobKey) throws JobPersistenceException
JobStore
JobDetail
for the given
Job
.
retrieveJob
in interface JobStore
Job
, or null if there is no match.
JobPersistenceException
public OperableTrigger retrieveTrigger(TriggerKey triggerKey) throws JobPersistenceException
JobStore
Trigger
.
retrieveTrigger
in interface JobStore
Trigger
, or null if there is no
match.
JobPersistenceException
public boolean checkExists(JobKey jobKey) throws JobPersistenceException
JobStore
Job
with the given identifier already
exists within the scheduler.
checkExists
in interface JobStore
jobKey
- the identifier to check for
JobPersistenceException
public boolean checkExists(TriggerKey triggerKey) throws JobPersistenceException
JobStore
Trigger
with the given identifier already
exists within the scheduler.
checkExists
in interface JobStore
triggerKey
- the identifier to check for
JobPersistenceException
public void clearAllSchedulingData() throws JobPersistenceException
JobStore
Job
s, Trigger
s
Calendar
s.
clearAllSchedulingData
in interface JobStore
JobPersistenceException
public void schedulerStarted() throws SchedulerException
JobStore
JobStore
that
the scheduler has started.
schedulerStarted
in interface JobStore
SchedulerException
public void schedulerPaused()
JobStore
JobStore
that
the scheduler has been paused.
schedulerPaused
in interface JobStore
public void schedulerResumed()
JobStore
JobStore
that
the scheduler has resumed after being paused.
schedulerResumed
in interface JobStore
public void shutdown()
JobStore
JobStore
that
it should free up all of it's resources because the scheduler is
shutting down.
shutdown
in interface JobStore
public void storeCalendar(String name, Calendar calendar, boolean replaceExisting, boolean updateTriggers) throws JobPersistenceException
JobStore
Calendar
.
storeCalendar
in interface JobStore
calendar
- The Calendar
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 Trigger
s 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.
JobPersistenceException
public void storeJob(JobDetail newJob, boolean replaceExisting) throws JobPersistenceException
JobStore
JobDetail
.
storeJob
in interface JobStore
newJob
- The JobDetail
to be stored.replaceExisting
- 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.
JobPersistenceException
public void storeJobAndTrigger(JobDetail newJob, OperableTrigger newTrigger) throws JobPersistenceException
JobStore
JobDetail
and Trigger
.
storeJobAndTrigger
in interface JobStore
newJob
- The JobDetail
to be stored.newTrigger
- The Trigger
to be stored.
ObjectAlreadyExistsException
- if a Job
with the same name/group already
exists.
JobPersistenceException
public void storeTrigger(OperableTrigger newTrigger, boolean replaceExisting) throws JobPersistenceException
JobStore
Trigger
.
storeTrigger
in interface JobStore
newTrigger
- The Trigger
to be stored.replaceExisting
- 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
JobStore.pauseTriggers(org.quartz.impl.matchers.GroupMatcher)
public boolean supportsPersistence()
supportsPersistence
in interface JobStore
public String toString()
toString
in class Object
public void triggeredJobComplete(OperableTrigger trigger, JobDetail jobDetail, Trigger.CompletedExecutionInstruction triggerInstCode)
JobStore
JobStore
that the scheduler has completed the
firing of the given Trigger
(and the execution of its
associated Job
completed, threw an exception, or was vetoed),
and that the JobDataMap
in the given JobDetail
should be updated if the Job
is stateful.
triggeredJobComplete
in interface JobStore
public void setMisfireThreshold(long threshold)
setMisfireThreshold
in interface TerracottaJobStoreExtensions
public void setEstimatedTimeToReleaseAndAcquireTrigger(long estimate)
setEstimatedTimeToReleaseAndAcquireTrigger
in interface TerracottaJobStoreExtensions
public void setInstanceId(String schedInstId)
JobStore
JobStore
of the Scheduler instance's Id,
prior to initialize being invoked.
setInstanceId
in interface JobStore
public void setInstanceName(String schedName)
JobStore
JobStore
of the Scheduler instance's name,
prior to initialize being invoked.
setInstanceName
in interface JobStore
public void setTcRetryInterval(long retryInterval)
setTcRetryInterval
in interface TerracottaJobStoreExtensions
public String getUUID()
getUUID
in interface TerracottaJobStoreExtensions
protected T createNewJobStoreInstance(String schedulerName, boolean useSynchWrite)
public long getEstimatedTimeToReleaseAndAcquireTrigger()
JobStore
JobStore
implementation
estimates that it will take to release a trigger and acquire a new one.
getEstimatedTimeToReleaseAndAcquireTrigger
in interface JobStore
public boolean isClustered()
JobStore
JobStore
implementation is clustered.
isClustered
in interface JobStore
protected T getClusteredJobStore()
public String getName()
JobListener
Get the name of the JobListener
.
getName
in interface JobListener
public void jobToBeExecuted(JobExecutionContext context)
JobListener
Called by the
when a Scheduler
is about to be executed (an associated JobDetail
has occurred).
Trigger
This method will not be invoked if the execution of the Job was vetoed
by a
.
TriggerListener
jobToBeExecuted
in interface JobListener
JobListener.jobExecutionVetoed(JobExecutionContext)
public void jobExecutionVetoed(JobExecutionContext context)
JobListener
Called by the
when a Scheduler
was about to be executed (an associated JobDetail
has occurred), but a Trigger
vetoed it's
execution.
TriggerListener
jobExecutionVetoed
in interface JobListener
JobListener.jobToBeExecuted(JobExecutionContext)
public void jobWasExecuted(JobExecutionContext context, JobExecutionException jobException)
JobListener
Called by the
after a Scheduler
has been executed, and be for the associated JobDetail
Trigger
's
triggered(xx)
method has been called.
jobWasExecuted
in interface JobListener
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |