Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.quartz
Interface JobExecutionContext

All Known Implementing Classes:
  JobExecutionContextImpl

    public interface JobExecutionContext

A context bundle containing handles to various environment information, that is given to a ``JobDetail`` instance as it is executed, and to a ``Trigger`` 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 `JobExecutionContext`s, 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).

Author:
  James House
See Also:
  `getScheduler()`, `getMergedJobDataMap()`, `getJobDetail()`, `Job`, `Trigger`, `JobDataMap`

Method Summary
`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`.
`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).

Method Detail

### getScheduler

    Scheduler getScheduler()

  Get a handle to the `Scheduler` instance that fired the `Job`.

### getTrigger

    Trigger getTrigger()

  Get a handle to the `Trigger` instance that fired the `Job`.

### getCalendar

    Calendar getCalendar()

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

### isRecovering

    boolean isRecovering()

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

### getRecoveringTriggerKey

    TriggerKey getRecoveringTriggerKey()
                                       throws IllegalStateException

  Return the `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 `Scheduler.FAILED_JOB_ORIGINAL_TRIGGER_FIRETIME_IN_MILLISECONDS` element of this job's `JobDataMap`.

  Returns:
    the recovering trigger details
  Throws:
    `IllegalStateException` - if this is not a recovering job.

### getRefireCount

    int getRefireCount()

### getMergedJobDataMap

    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`.

### getJobDetail

    JobDetail getJobDetail()

  Get the `JobDetail` associated with the `Job`.

### getJobInstance

    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.

### getFireTime

    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.

  Returns:
    Returns the fireTime.
  See Also:
    `getScheduledFireTime()`

### getScheduledFireTime

    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.

  Returns:
    Returns the scheduledFireTime.
  See Also:
    `getFireTime()`

### getPreviousFireTime

    Date getPreviousFireTime()

### getNextFireTime

    Date getNextFireTime()

### getFireInstanceId

    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.

  Returns:
    the unique fire instance id
  See Also:
    `Scheduler.interrupt(String)`

### getResult

    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 ``JobListener`s` or ``TriggerListener`s` that are watching the job's execution.

  Returns:
    Returns the result.

### setResult

    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).

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

### getJobRunTime

    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 `JobListener`s and `TriggerListener`s.

  Returns:
    Returns the jobRunTime.

### put

    void put(Object key,
             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.

  Parameters:
    `key` - the key for the associated value
    `value` - the value to store

### get

    Object get(Object key)

  Get the value with the given key from the context's data map.

  Parameters:
    `key` - the key for the desired value

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright 2001-2013, Terracotta, Inc.