Class JobExecutionContextImpl

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object get​(java.lang.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.
      java.lang.String getFireInstanceId()
      Get the unique Id that identifies this particular firing instance of the trigger that triggered this job execution.
      java.util.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.
      java.util.Date getNextFireTime()
      java.util.Date getPreviousFireTime()
      TriggerKey getRecoveringTriggerKey()
      Return the TriggerKey of the originally scheduled and now recovering job.
      int getRefireCount()
      java.lang.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).
      java.util.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​(java.lang.Object key, java.lang.Object value)
      Put the specified value into the context's data map with the given key.
      void setJobRunTime​(long jobRunTime)  
      void setResult​(java.lang.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).
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • JobExecutionContextImpl

        public JobExecutionContextImpl​(Scheduler scheduler,
                                       TriggerFiredBundle firedBundle,
                                       Job job)

        Create a JobExcecutionContext with the given context data.

    • Method Detail

      • getCalendar

        public Calendar getCalendar()

        Get a handle to the Calendar referenced by the Trigger instance that fired the Job.

        Specified by:
        getCalendar in interface JobExecutionContext
      • isRecovering

        public boolean isRecovering()

        If the Job is being re-executed because of a 'recovery' situation, this method will return true.

        Specified by:
        isRecovering in interface JobExecutionContext
      • incrementRefireCount

        public void incrementRefireCount()
      • getMergedJobDataMap

        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.

        Specified by:
        getMergedJobDataMap in interface JobExecutionContext
      • getJobInstance

        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.

        Specified by:
        getJobInstance in interface JobExecutionContext
      • 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:
        getFireTime in interface JobExecutionContext
        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:
        getScheduledFireTime in interface JobExecutionContext
        Returns:
        Returns the scheduledFireTime.
        See Also:
        JobExecutionContext.getFireTime()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • getResult

        public java.lang.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).

        The result itself is meaningless to Quartz, but may be informative to JobListeners or TriggerListeners that are watching the job's execution.

        Specified by:
        getResult in interface JobExecutionContext
        Returns:
        Returns the result.
      • setResult

        public void setResult​(java.lang.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).

        The result itself is meaningless to Quartz, but may be informative to JobListeners or TriggerListeners that are watching the job's execution.

        Specified by:
        setResult in interface JobExecutionContext
      • 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 to JobListeners and TriggerListeners.
        Specified by:
        getJobRunTime in interface JobExecutionContext
        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:
        put in interface JobExecutionContext
        Parameters:
        key - the key for the associated value
        value - 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:
        get in interface JobExecutionContext
        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:
        getFireInstanceId in interface JobExecutionContext
        Returns:
        the unique fire instance id
        See Also:
        Scheduler.interrupt(String)