public class JobExecutionContextImpl extends Object implements Serializable, JobExecutionContext
Constructor and Description |
---|
JobExecutionContextImpl(Scheduler scheduler,
TriggerFiredBundle firedBundle,
Job job)
Create a JobExcecutionContext with the given context data.
|
Modifier and Type | Method and Description |
---|---|
Object |
get(Object key)
Get the value with the given key from the context's data map.
|
Calendar |
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.
|
JobDetail |
getJobDetail()
Get the
JobDetail associated with the Job . |
Job |
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.
|
Scheduler |
getScheduler()
Get a handle to the
Scheduler instance that fired the
Job . |
Trigger |
getTrigger()
Get a handle to the
Trigger instance that fired the
Job . |
void |
incrementRefireCount() |
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 |
setJobRunTime(long jobRunTime) |
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). |
String |
toString() |
public JobExecutionContextImpl(Scheduler scheduler, TriggerFiredBundle firedBundle, Job job)
Create a JobExcecutionContext with the given context data.
public Scheduler getScheduler()
Get a handle to the Scheduler
instance that fired the
Job
.
getScheduler
in interface JobExecutionContext
public Trigger getTrigger()
Get a handle to the Trigger
instance that fired the
Job
.
getTrigger
in interface JobExecutionContext
public Calendar getCalendar()
Get a handle to the Calendar
referenced by the Trigger
instance that fired the Job
.
getCalendar
in interface JobExecutionContext
public boolean isRecovering()
If the Job
is being re-executed because of a 'recovery'
situation, this method will return true
.
isRecovering
in interface JobExecutionContext
public TriggerKey getRecoveringTriggerKey()
JobExecutionContext
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
JobExecutionContext.getScheduledFireTime()
method. The original firing time of the job can be
accessed via the Scheduler.FAILED_JOB_ORIGINAL_TRIGGER_FIRETIME_IN_MILLISECONDS
element of this job's JobDataMap
.
getRecoveringTriggerKey
in interface JobExecutionContext
public void incrementRefireCount()
public int getRefireCount()
getRefireCount
in interface JobExecutionContext
public 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
.
getMergedJobDataMap
in interface JobExecutionContext
public JobDetail getJobDetail()
Get the JobDetail
associated with the Job
.
getJobDetail
in interface JobExecutionContext
public Job getJobInstance()
Get the instance of the Job
that was created for this
execution.
Note: The Job instance is not available through remote scheduler interfaces.
getJobInstance
in interface JobExecutionContext
public Date getFireTime()
getFireTime
in interface JobExecutionContext
JobExecutionContext.getScheduledFireTime()
public Date getScheduledFireTime()
getScheduledFireTime
in interface JobExecutionContext
JobExecutionContext.getFireTime()
public Date getPreviousFireTime()
getPreviousFireTime
in interface JobExecutionContext
public Date getNextFireTime()
getNextFireTime
in interface JobExecutionContext
public 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
JobListener
s
that are watching the job's
execution.
TriggerListener
s
getResult
in interface JobExecutionContext
public 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
JobListener
s
that are watching the job's
execution.
TriggerListener
s
setResult
in interface JobExecutionContext
public long getJobRunTime()
JobListener
s and TriggerListener
s.getJobRunTime
in interface JobExecutionContext
public void setJobRunTime(long jobRunTime)
jobRunTime
- The jobRunTime to set.public 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.
put
in interface JobExecutionContext
key
- the key for the associated valuevalue
- the value to storepublic Object get(Object key)
get
in interface JobExecutionContext
key
- the key for the desired valuepublic String getFireInstanceId()
getFireInstanceId
in interface JobExecutionContext
Scheduler.interrupt(String)
Copyright 2001-2019, Terracotta, Inc.