public class RAMJobStore extends java.lang.Object implements JobStore
 This class implements a  that
 utilizes RAM as its storage device.
 JobStore
 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.
 
| Constructor and Description | 
|---|
RAMJobStore()
 Create a new  
RAMJobStore. | 
| Modifier and Type | Method and Description | 
|---|---|
Trigger | 
acquireNextTrigger(SchedulingContext ctxt,
                  long noLaterThan)
 Get a handle to the next trigger to be fired, and mark it as 'reserved'
 by the calling scheduler. 
 | 
java.lang.String[] | 
getCalendarNames(SchedulingContext ctxt)
 Get the names of all of the  
 s
 in the JobStore. | 
java.lang.String[] | 
getJobGroupNames(SchedulingContext ctxt)
 Get the names of all of the  
 groups. | 
java.lang.String[] | 
getJobNames(SchedulingContext ctxt,
           java.lang.String groupName)
 Get the names of all of the  
 s that
 have the given group name. | 
long | 
getMisfireThreshold()  | 
int | 
getNumberOfCalendars(SchedulingContext ctxt)
 Get the number of  
 s that are
 stored in the JobsStore. | 
int | 
getNumberOfJobs(SchedulingContext ctxt)
 Get the number of  
 s that are
 stored in the JobsStore. | 
int | 
getNumberOfTriggers(SchedulingContext ctxt)
 Get the number of  
 s that are
 stored in the JobsStore. | 
java.util.Set | 
getPausedTriggerGroups(SchedulingContext ctxt)  | 
java.lang.String[] | 
getTriggerGroupNames(SchedulingContext ctxt)
 Get the names of all of the  
 groups. | 
java.lang.String[] | 
getTriggerNames(SchedulingContext ctxt,
               java.lang.String groupName)
 Get the names of all of the  
 s
 that have the given group name. | 
Trigger[] | 
getTriggersForJob(SchedulingContext ctxt,
                 java.lang.String jobName,
                 java.lang.String groupName)
 Get all of the Triggers that are associated to the given Job. 
 | 
int | 
getTriggerState(SchedulingContext ctxt,
               java.lang.String triggerName,
               java.lang.String groupName)
 Get the current state of the identified  
. | 
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. | 
void | 
pauseAll(SchedulingContext ctxt)
 Pause all triggers - equivalent of calling  
pauseTriggerGroup(group)
 on every group. | 
void | 
pauseJob(SchedulingContext ctxt,
        java.lang.String jobName,
        java.lang.String groupName)
 Pause the  
 with the given
 name - by pausing all of its current Triggers. | 
void | 
pauseJobGroup(SchedulingContext ctxt,
             java.lang.String groupName)
 Pause all of the  
 in the
 given group - by pausing all of their Triggers. | 
void | 
pauseTrigger(SchedulingContext ctxt,
            java.lang.String triggerName,
            java.lang.String groupName)
 Pause the  
 with the given name. | 
void | 
pauseTriggerGroup(SchedulingContext ctxt,
                 java.lang.String groupName)
 Pause all of the  
 in the given group. | 
void | 
releaseAcquiredTrigger(SchedulingContext ctxt,
                      Trigger trigger)
 Inform the  
JobStore that the scheduler no longer plans to
 fire the given Trigger, that it had previously acquired
 (reserved). | 
boolean | 
removeCalendar(SchedulingContext ctxt,
              java.lang.String calName)
 Remove (delete) the  
 with the
 given name. | 
boolean | 
removeJob(SchedulingContext ctxt,
         java.lang.String jobName,
         java.lang.String groupName)
 | 
boolean | 
removeTrigger(SchedulingContext ctxt,
             java.lang.String triggerName,
             java.lang.String groupName)
 Remove (delete) the  
 with the
 given name. | 
boolean | 
replaceTrigger(SchedulingContext ctxt,
              java.lang.String triggerName,
              java.lang.String groupName,
              Trigger newTrigger)
 Remove (delete) the  
 with the
 given name, and store the new given one - which must be associated
 with the same job. | 
void | 
resumeAll(SchedulingContext ctxt)
 Resume (un-pause) all triggers - equivalent of calling  
resumeTriggerGroup(group)
 on every group. | 
void | 
resumeJob(SchedulingContext ctxt,
         java.lang.String jobName,
         java.lang.String groupName)
 Resume (un-pause) the  
 with
 the given name. | 
void | 
resumeJobGroup(SchedulingContext ctxt,
              java.lang.String groupName)
 Resume (un-pause) all of the  
 in the given group. | 
void | 
resumeTrigger(SchedulingContext ctxt,
             java.lang.String triggerName,
             java.lang.String groupName)
 Resume (un-pause) the  
 with the given
 name. | 
void | 
resumeTriggerGroup(SchedulingContext ctxt,
                  java.lang.String groupName)
 Resume (un-pause) all of the  
 in the
 given group. | 
Calendar | 
retrieveCalendar(SchedulingContext ctxt,
                java.lang.String calName)
 Retrieve the given  
. | 
JobDetail | 
retrieveJob(SchedulingContext ctxt,
           java.lang.String jobName,
           java.lang.String groupName)
 | 
Trigger | 
retrieveTrigger(SchedulingContext ctxt,
               java.lang.String triggerName,
               java.lang.String groupName)
 Retrieve the given  
. | 
void | 
schedulerStarted()
 Called by the QuartzScheduler to inform the  
JobStore that
 the scheduler has started. | 
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 | 
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(SchedulingContext ctxt,
             java.lang.String name,
             Calendar calendar,
             boolean replaceExisting,
             boolean updateTriggers)
 Store the given  
. | 
void | 
storeJob(SchedulingContext ctxt,
        JobDetail newJob,
        boolean replaceExisting)
 Store the given  
. | 
void | 
storeJobAndTrigger(SchedulingContext ctxt,
                  JobDetail newJob,
                  Trigger newTrigger)
 | 
void | 
storeTrigger(SchedulingContext ctxt,
            Trigger newTrigger,
            boolean replaceExisting)
 Store the given  
. | 
boolean | 
supportsPersistence()  | 
void | 
triggeredJobComplete(SchedulingContext ctxt,
                    Trigger trigger,
                    JobDetail jobDetail,
                    int 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. | 
TriggerFiredBundle | 
triggerFired(SchedulingContext ctxt,
            Trigger trigger)
 Inform the  
JobStore that the scheduler is now firing the
 given Trigger (executing its associated Job),
 that it had previously acquired (reserved). | 
public 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.
 
initialize in interface JobStorepublic void schedulerStarted()
                      throws SchedulerException
JobStore
 Called by the QuartzScheduler to inform the JobStore that
 the scheduler has started.
 
schedulerStarted in interface JobStoreSchedulerExceptionpublic long getMisfireThreshold()
public void setMisfireThreshold(long misfireThreshold)
misfireThreshold - public 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 JobStorepublic void storeJobAndTrigger(SchedulingContext ctxt, JobDetail newJob, Trigger newTrigger) throws JobPersistenceException
storeJobAndTrigger in interface JobStorenewJob - The JobDetail to be stored.newTrigger - The Trigger to be stored.ObjectAlreadyExistsException - if a Job with the same name/group already
           exists.JobPersistenceExceptionpublic void storeJob(SchedulingContext ctxt, JobDetail newJob, boolean replaceExisting) throws ObjectAlreadyExistsException
 Store the given .
 Job
storeJob in interface JobStorenewJob - The Job 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.public boolean removeJob(SchedulingContext ctxt, java.lang.String jobName, java.lang.String groupName)
public void storeTrigger(SchedulingContext ctxt, Trigger newTrigger, boolean replaceExisting) throws JobPersistenceException
 Store the given .
 Trigger
storeTrigger in interface JobStorenewTrigger - 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.JobPersistenceExceptionpauseTriggerGroup(SchedulingContext, String)public boolean removeTrigger(SchedulingContext ctxt, java.lang.String triggerName, java.lang.String groupName)
 Remove (delete) the  with the
 given name.
 Trigger
removeTrigger in interface JobStoretriggerName - The name of the Trigger to be removed.groupName - The group name of the Trigger to be removed.true if a Trigger with the given
         name & group was found and removed from the store.public boolean replaceTrigger(SchedulingContext ctxt, java.lang.String triggerName, java.lang.String groupName, Trigger newTrigger) throws JobPersistenceException
JobStore
 Remove (delete) the  with the
 given name, and store the new given one - which must be associated
 with the same job.
 Trigger
replaceTrigger in interface JobStoretriggerName - The name of the Trigger to be removed.groupName - The group name of the Trigger to be removed.newTrigger - The new Trigger to be stored.true if a Trigger with the given
         name & group was found and removed from the store.JobPersistenceExceptionJobStore.replaceTrigger(org.quartz.core.SchedulingContext, java.lang.String, java.lang.String, org.quartz.Trigger)public JobDetail retrieveJob(SchedulingContext ctxt, java.lang.String jobName, java.lang.String groupName)
retrieveJob in interface JobStorejobName - The name of the Job to be retrieved.groupName - The group name of the Job to be retrieved.Job, or null if there is no match.public Trigger retrieveTrigger(SchedulingContext ctxt, java.lang.String triggerName, java.lang.String groupName)
 Retrieve the given .
 Trigger
retrieveTrigger in interface JobStoretriggerName - The name of the Trigger to be retrieved.groupName - The group name of the Trigger to be retrieved.Trigger, or null if there is no
         match.public int getTriggerState(SchedulingContext ctxt, java.lang.String triggerName, java.lang.String groupName) throws JobPersistenceException
 Get the current state of the identified .
 Trigger
getTriggerState in interface JobStoreJobPersistenceExceptionTrigger.STATE_NORMAL, 
Trigger.STATE_PAUSED, 
Trigger.STATE_COMPLETE, 
Trigger.STATE_ERROR, 
Trigger.STATE_BLOCKED, 
Trigger.STATE_NONEpublic void storeCalendar(SchedulingContext ctxt, java.lang.String name, Calendar calendar, boolean replaceExisting, boolean updateTriggers) throws ObjectAlreadyExistsException
 Store the given .
 Calendar
storeCalendar in interface JobStorecalendar - 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 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(SchedulingContext ctxt, java.lang.String calName) throws JobPersistenceException
 Remove (delete) the  with the
 given name.
 Calendar
 If removal of the Calendar would result in
 JobPersistenceException will be thrown.
removeCalendar in interface JobStorecalName - The name of the Calendar to be removed.true if a Calendar with the given name
 was found and removed from the store.JobPersistenceExceptionpublic Calendar retrieveCalendar(SchedulingContext ctxt, java.lang.String calName)
 Retrieve the given .
 Trigger
retrieveCalendar in interface JobStorecalName - The name of the Calendar to be retrieved.Calendar, or null if there is no
         match.public int getNumberOfJobs(SchedulingContext ctxt)
 Get the number of  s that are
 stored in the JobDetailJobsStore.
 
getNumberOfJobs in interface JobStorepublic int getNumberOfTriggers(SchedulingContext ctxt)
 Get the number of  s that are
 stored in the TriggerJobsStore.
 
getNumberOfTriggers in interface JobStorepublic int getNumberOfCalendars(SchedulingContext ctxt)
 Get the number of  s that are
 stored in the CalendarJobsStore.
 
getNumberOfCalendars in interface JobStorepublic java.lang.String[] getJobNames(SchedulingContext ctxt, java.lang.String groupName)
 Get the names of all of the  s that
 have the given group name.
 Job
getJobNames in interface JobStorepublic java.lang.String[] getCalendarNames(SchedulingContext ctxt)
 Get the names of all of the  s
 in the CalendarJobStore.
 
 If there are no Calendars in the given group name, the result should be
 a zero-length array (not null).
 
getCalendarNames in interface JobStorepublic java.lang.String[] getTriggerNames(SchedulingContext ctxt, java.lang.String groupName)
 Get the names of all of the  s
 that have the given group name.
 Trigger
getTriggerNames in interface JobStorepublic java.lang.String[] getJobGroupNames(SchedulingContext ctxt)
 Get the names of all of the 
 groups.
 Job
getJobGroupNames in interface JobStorepublic java.lang.String[] getTriggerGroupNames(SchedulingContext ctxt)
 Get the names of all of the 
 groups.
 Trigger
getTriggerGroupNames in interface JobStorepublic Trigger[] getTriggersForJob(SchedulingContext ctxt, java.lang.String jobName, java.lang.String groupName)
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 JobStorepublic void pauseTrigger(SchedulingContext ctxt, java.lang.String triggerName, java.lang.String groupName)
 Pause the  with the given name.
 Trigger
pauseTrigger in interface JobStoreJobStore.resumeTrigger(SchedulingContext, String, String)public void pauseTriggerGroup(SchedulingContext ctxt, java.lang.String groupName)
 Pause all of the  in the given group.
 Triggers
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.
pauseTriggerGroup in interface JobStoreJobStore.resumeTriggerGroup(SchedulingContext, String)public void pauseJob(SchedulingContext ctxt, java.lang.String jobName, java.lang.String groupName)
 Pause the  with the given
 name - by pausing all of its current JobDetailTriggers.
 
pauseJob in interface JobStoreJobStore.resumeJob(SchedulingContext, String, String)public void pauseJobGroup(SchedulingContext ctxt, java.lang.String groupName)
 Pause all of the  in the
 given group - by pausing all of their JobDetailsTriggers.
 
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.
pauseJobGroup in interface JobStoreJobStore.resumeJobGroup(SchedulingContext, String)public void resumeTrigger(SchedulingContext ctxt, java.lang.String triggerName, java.lang.String groupName)
 Resume (un-pause) the  with the given
 name.
 Trigger
 If the Trigger missed one or more fire-times, then the
 Trigger's misfire instruction will be applied.
 
resumeTrigger in interface JobStoreJobStore.pauseTrigger(SchedulingContext, String, String)public void resumeTriggerGroup(SchedulingContext ctxt, java.lang.String groupName)
 Resume (un-pause) all of the  in the
 given group.
 Triggers
 If any Trigger missed one or more fire-times, then the
 Trigger's misfire instruction will be applied.
 
resumeTriggerGroup in interface JobStoreJobStore.pauseTriggerGroup(SchedulingContext, String)public void resumeJob(SchedulingContext ctxt, java.lang.String jobName, java.lang.String groupName)
 Resume (un-pause) the  with
 the given name.
 JobDetail
 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 JobStoreJobStore.pauseJob(SchedulingContext, String, String)public void resumeJobGroup(SchedulingContext ctxt, java.lang.String groupName)
 Resume (un-pause) all of the 
 in the given group.
 JobDetails
 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.
 
resumeJobGroup in interface JobStoreJobStore.pauseJobGroup(SchedulingContext, String)public void pauseAll(SchedulingContext ctxt)
 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 JobStoreresumeAll(SchedulingContext), 
pauseTriggerGroup(SchedulingContext, String)public void resumeAll(SchedulingContext ctxt)
 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 JobStorepauseAll(SchedulingContext)public Trigger acquireNextTrigger(SchedulingContext ctxt, long noLaterThan)
Get a handle to the next trigger to be fired, and mark it as 'reserved' by the calling scheduler.
acquireNextTrigger in interface JobStorenoLaterThan - If > 0, the JobStore should only return a Trigger 
 that will fire no later than the time represented in this value as 
 milliseconds.releaseAcquiredTrigger(SchedulingContext, Trigger)public void releaseAcquiredTrigger(SchedulingContext ctxt, Trigger trigger)
 Inform the JobStore that the scheduler no longer plans to
 fire the given Trigger, that it had previously acquired
 (reserved).
 
releaseAcquiredTrigger in interface JobStorepublic TriggerFiredBundle triggerFired(SchedulingContext ctxt, Trigger trigger)
 Inform the JobStore that the scheduler is now firing the
 given Trigger (executing its associated Job),
 that it had previously acquired (reserved).
 
triggerFired in interface JobStorepublic void triggeredJobComplete(SchedulingContext ctxt, Trigger trigger, JobDetail jobDetail, int 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 JobStorepublic java.util.Set getPausedTriggerGroups(SchedulingContext ctxt) throws JobPersistenceException
getPausedTriggerGroups in interface JobStoreJobPersistenceExceptionJobStore.getPausedTriggerGroups(org.quartz.core.SchedulingContext)