Class JobExecutionContextImpl
- java.lang.Object
-
- org.quartz.impl.JobExecutionContextImpl
-
- All Implemented Interfaces:
java.io.Serializable,JobExecutionContext
public class JobExecutionContextImpl extends java.lang.Object implements java.io.Serializable, JobExecutionContext
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description JobExecutionContextImpl(Scheduler scheduler, TriggerFiredBundle firedBundle, Job job)Create a JobExecutionContext with the given context data.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Objectget(java.lang.Object key)Get the value with the given key from the context's data map.CalendargetCalendar()Get a handle to theCalendarreferenced by theTriggerinstance that fired theJob.java.lang.StringgetFireInstanceId()Get the unique Id that identifies this particular firing instance of the trigger that triggered this job execution.java.util.DategetFireTime()The actual time the trigger fired.JobDetailgetJobDetail()Get theJobDetailassociated with theJob.JobgetJobInstance()Get the instance of theJobthat was created for this execution.longgetJobRunTime()The amount of time the job ran for (in milliseconds).JobDataMapgetMergedJobDataMap()Get the convenienceJobDataMapof this execution context.java.util.DategetNextFireTime()java.util.DategetPreviousFireTime()TriggerKeygetRecoveringTriggerKey()Return theTriggerKeyof the originally scheduled and now recovering job.intgetRefireCount()java.lang.ObjectgetResult()Returns the result (if any) that theJobset before its execution completed (the type of object set as the result is entirely up to the particular job).java.util.DategetScheduledFireTime()The scheduled time the trigger fired for.SchedulergetScheduler()Get a handle to theSchedulerinstance that fired theJob.TriggergetTrigger()Get a handle to theTriggerinstance that fired theJob.voidincrementRefireCount()booleanisRecovering()If theJobis being re-executed because of a 'recovery' situation, this method will returntrue.voidput(java.lang.Object key, java.lang.Object value)Put the specified value into the context's data map with the given key.voidsetJobRunTime(long jobRunTime)voidsetResult(java.lang.Object result)Set the result (if any) of theJob's execution (the type of object set as the result is entirely up to the particular job).java.lang.StringtoString()
-
-
-
Constructor Detail
-
JobExecutionContextImpl
public JobExecutionContextImpl(Scheduler scheduler, TriggerFiredBundle firedBundle, Job job)
Create a JobExecutionContext with the given context data.
-
-
Method Detail
-
getScheduler
public Scheduler getScheduler()
Get a handle to the
Schedulerinstance that fired theJob.- Specified by:
getSchedulerin interfaceJobExecutionContext
-
getTrigger
public Trigger getTrigger()
Get a handle to the
Triggerinstance that fired theJob.- Specified by:
getTriggerin interfaceJobExecutionContext
-
getCalendar
public Calendar getCalendar()
Get a handle to the
Calendarreferenced by theTriggerinstance that fired theJob.- Specified by:
getCalendarin interfaceJobExecutionContext
-
isRecovering
public boolean isRecovering()
If the
Jobis being re-executed because of a 'recovery' situation, this method will returntrue.- Specified by:
isRecoveringin interfaceJobExecutionContext
-
getRecoveringTriggerKey
public TriggerKey getRecoveringTriggerKey()
Description copied from interface:JobExecutionContextReturn theTriggerKeyof 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 theScheduler.FAILED_JOB_ORIGINAL_TRIGGER_FIRETIME_IN_MILLISECONDSelement of this job'sJobDataMap.- Specified by:
getRecoveringTriggerKeyin interfaceJobExecutionContext- Returns:
- the recovering trigger details
-
incrementRefireCount
public void incrementRefireCount()
-
getRefireCount
public int getRefireCount()
- Specified by:
getRefireCountin interfaceJobExecutionContext
-
getMergedJobDataMap
public JobDataMap getMergedJobDataMap()
Get the convenience
JobDataMapof this execution context.The
JobDataMapfound on this object serves as a convenience - it is a merge of theJobDataMapfound on theJobDetailand the one found on theTrigger, 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
@PersistJobDataAfterExecutionannotation.Attempts to change the contents of this map typically result in an
IllegalStateException.- Specified by:
getMergedJobDataMapin interfaceJobExecutionContext
-
getJobDetail
public JobDetail getJobDetail()
Get the
JobDetailassociated with theJob.- Specified by:
getJobDetailin interfaceJobExecutionContext
-
getJobInstance
public Job getJobInstance()
Get the instance of the
Jobthat was created for this execution.Note: The Job instance is not available through remote scheduler interfaces.
- Specified by:
getJobInstancein interfaceJobExecutionContext
-
getFireTime
public java.util.Date getFireTime()
The actual time the trigger fired. For instance the scheduled time may have been 10:00:00 but the actual fire time may have been 10:00:03 if the scheduler was too busy.- Specified by:
getFireTimein interfaceJobExecutionContext- Returns:
- Returns the fireTime.
- See Also:
JobExecutionContext.getScheduledFireTime()
-
getScheduledFireTime
public java.util.Date getScheduledFireTime()
The scheduled time the trigger fired for. For instance the scheduled time may have been 10:00:00 but the actual fire time may have been 10:00:03 if the scheduler was too busy.- Specified by:
getScheduledFireTimein interfaceJobExecutionContext- Returns:
- Returns the scheduledFireTime.
- See Also:
JobExecutionContext.getFireTime()
-
getPreviousFireTime
public java.util.Date getPreviousFireTime()
- Specified by:
getPreviousFireTimein interfaceJobExecutionContext
-
getNextFireTime
public java.util.Date getNextFireTime()
- Specified by:
getNextFireTimein interfaceJobExecutionContext
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
getResult
public java.lang.Object getResult()
Returns the result (if any) that theJobset 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
orJobListenersthat are watching the job's execution.TriggerListeners- Specified by:
getResultin interfaceJobExecutionContext- Returns:
- Returns the result.
-
setResult
public void setResult(java.lang.Object result)
Set the result (if any) of theJob'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
orJobListenersthat are watching the job's execution.TriggerListeners- Specified by:
setResultin interfaceJobExecutionContext
-
getJobRunTime
public long getJobRunTime()
The amount of time the job ran for (in milliseconds). The returned value will be -1 until the job has actually completed (or thrown an exception), and is therefore generally only useful toJobListeners andTriggerListeners.- Specified by:
getJobRunTimein interfaceJobExecutionContext- Returns:
- Returns the jobRunTime.
-
setJobRunTime
public void setJobRunTime(long jobRunTime)
- Parameters:
jobRunTime- The jobRunTime to set.
-
put
public void put(java.lang.Object key, java.lang.Object value)Put the specified value into the context's data map with the given key. Possibly useful for sharing data between listeners and jobs.NOTE: this data is volatile - it is lost after the job execution completes, and all TriggerListeners and JobListeners have been notified.
- Specified by:
putin interfaceJobExecutionContext- Parameters:
key- the key for the associated valuevalue- the value to store
-
get
public java.lang.Object get(java.lang.Object key)
Get the value with the given key from the context's data map.- Specified by:
getin interfaceJobExecutionContext- Parameters:
key- the key for the desired value
-
getFireInstanceId
public java.lang.String getFireInstanceId()
Get the unique Id that identifies this particular firing instance of the trigger that triggered this job execution. It is unique to this JobExecutionContext instance as well.- Specified by:
getFireInstanceIdin interfaceJobExecutionContext- Returns:
- the unique fire instance id
- See Also:
Scheduler.interrupt(String)
-
-