public interface IJobExecutionContext
IJobDetail instance as
it is executed, and to a ITrigger instance after the
execution completes.
The JobDataMap found on this object (via the
getMergedJobDataMap() method) serves as a convenience - it is a
merge of the JobDataMap found on the JobDetail and
the one found on the Trigger, with the value in the latter
overriding any same-named values in the former. It is thus considered a
'best practice' that the execute code of a Job retrieve data from the
JobDataMap found on this object NOTE: Do not expect value 'set' into this
JobDataMap to somehow be set back onto a job's own JobDataMap - even if it
has the @PersistJobDataAfterExecution annotation.
JobExecutionContext s are also returned from the
Scheduler.getCurrentlyExecutingJobs() method. These are the same
instances as those passed into the jobs that are currently executing within
the scheduler. The exception to this is when your application is using Quartz
remotely (i.e. via RMI) - in which case you get a clone of the
JobExecutionContexts, and their references to the
Scheduler and Job instances have been lost (a clone
of the JobDetail is still available - just not a handle to the
job instance that is running).
getScheduler(),
getMergedJobDataMap(),
getJobDetail(),
IJob,
ITrigger,
JobDataMap| Modifier and Type | Method and Description |
|---|---|
Object |
get(Object key)
Get the value with the given key from the context's data map.
|
ICalendar |
getCalendar()
Get a handle to the
Calendar referenced by the
Trigger instance that fired the Job. |
String |
getFireInstanceId()
Get the unique Id that identifies this particular firing instance of the
trigger that triggered this job execution.
|
Date |
getFireTime()
The actual time the trigger fired.
|
IJobDetail |
getJobDetail()
Get the
JobDetail associated with the Job. |
IJob |
getJobInstance()
Get the instance of the
Job that was created for this
execution. |
long |
getJobRunTime()
The amount of time the job ran for (in milliseconds).
|
JobDataMap |
getMergedJobDataMap()
Get the convenience
JobDataMap of this execution context. |
Date |
getNextFireTime() |
Date |
getPreviousFireTime() |
TriggerKey |
getRecoveringTriggerKey()
Return the
TriggerKey of the originally scheduled and now
recovering job. |
int |
getRefireCount() |
Object |
getResult()
Returns the result (if any) that the
Job set before its
execution completed (the type of object set as the result is entirely up to
the particular job). |
Date |
getScheduledFireTime()
The scheduled time the trigger fired for.
|
IScheduler |
getScheduler()
Get a handle to the
Scheduler instance that fired the
Job. |
ITrigger |
getTrigger()
Get a handle to the
Trigger instance that fired the
Job. |
boolean |
isRecovering()
If the
Job is being re-executed because of a 'recovery'
situation, this method will return true. |
void |
put(Object key,
Object value)
Put the specified value into the context's data map with the given key.
|
void |
setResult(Object result)
Set the result (if any) of the
Job's execution (the type of
object set as the result is entirely up to the particular job). |
IScheduler getScheduler()
Get a handle to the Scheduler instance that fired the
Job.
ITrigger getTrigger()
Get a handle to the Trigger instance that fired the
Job.
ICalendar getCalendar()
Get a handle to the Calendar referenced by the
Trigger instance that fired the Job.
boolean isRecovering()
If the Job is being re-executed because of a 'recovery'
situation, this method will return true.
TriggerKey getRecoveringTriggerKey()
TriggerKey of the originally scheduled and now
recovering job.
When recovering a previously failed job execution this method returns the
identity of the originally firing trigger. This recovering job will have
been scheduled for the same firing time as the original job, and so is
available via the getScheduledFireTime() method. The original
firing time of the job can be accessed via the
IScheduler.FAILED_JOB_ORIGINAL_TRIGGER_FIRETIME_IN_MILLISECONDS
element of this job's JobDataMap.
IllegalStateException - if this is not a recovering job.int getRefireCount()
JobDataMap getMergedJobDataMap()
Get the convenience JobDataMap of this execution context.
The JobDataMap found on this object serves as a convenience -
it is a merge of the JobDataMap found on the
JobDetail and the one found on the Trigger, with
the value in the latter overriding any same-named values in the former.
It is thus considered a 'best practice' that the execute code of a Job
retrieve data from the JobDataMap found on this object.
NOTE: Do not expect value 'set' into this JobDataMap to somehow be set or
persisted back onto a job's own JobDataMap - even if it has the
@PersistJobDataAfterExecution annotation.
Attempts to change the contents of this map typically result in an
IllegalStateException.
IJobDetail getJobDetail()
Get the JobDetail associated with the Job.
IJob getJobInstance()
Get the instance of the Job that was created for this
execution.
Note: The Job instance is not available through remote scheduler interfaces.
Date getFireTime()
getScheduledFireTime()Date getScheduledFireTime()
getFireTime()Date getPreviousFireTime()
Date getNextFireTime()
String getFireInstanceId()
IScheduler.interrupt(String)Object getResult()
Job set before its
execution completed (the type of object set as the result is entirely up to
the particular job).
The result itself is meaningless to Quartz, but may be informative to
or
IJobListeners that are watching the job's
execution.
ITriggerListeners
void setResult(Object result)
Job's execution (the type of
object set as the result is entirely up to the particular job).
The result itself is meaningless to Quartz, but may be informative to
or
IJobListeners that are watching the job's
execution.
ITriggerListeners
long getJobRunTime()
JobListeners and
TriggerListeners.void put(Object key, Object value)
NOTE: this data is volatile - it is lost after the job execution completes, and all TriggerListeners and JobListeners have been notified.
key - the key for the associated valuevalue - the value to storeCopyright © 2016–2021 Philip Helger. All rights reserved.