Class JobExecution

java.lang.Object
org.springframework.batch.core.Entity
org.springframework.batch.core.JobExecution
All Implemented Interfaces:
Serializable

public class JobExecution extends Entity
Batch domain object representing the execution of a job.
Author:
Lucas Ward, Michael Minella, Mahmoud Ben Hassine, Dimitrios Liapis
See Also:
  • Constructor Details

    • JobExecution

      public JobExecution(JobExecution original)
      Constructor that sets the state of the instance to the JobExecution parameter.
      Parameters:
      original - The JobExecution to be copied.
    • JobExecution

      public JobExecution(JobInstance job, Long id, @Nullable JobParameters jobParameters)
      Because a JobExecution isn't valid unless the job is set, this constructor is the only valid one from a modeling point of view.
      Parameters:
      job - the job of which this execution is a part
      id - Long that represents the id for the JobExecution.
      jobParameters - JobParameters instance for this JobExecution.
    • JobExecution

      public JobExecution(JobInstance job, JobParameters jobParameters)
      Constructor for transient (unsaved) instances.
      Parameters:
      job - The enclosing JobInstance.
      jobParameters - The JobParameters instance for this JobExecution.
    • JobExecution

      public JobExecution(Long id, JobParameters jobParameters)
      Constructor that accepts the job execution ID and JobParameters.
      Parameters:
      id - The job execution ID.
      jobParameters - The JobParameters for the JobExecution.
    • JobExecution

      public JobExecution(Long id)
      Constructor that accepts the job execution ID.
      Parameters:
      id - The job execution ID.
  • Method Details

    • getJobParameters

      public JobParameters getJobParameters()
      Returns:
      The current JobParameters.
    • getEndTime

      public Date getEndTime()
      Returns:
      The current end time.
    • setJobInstance

      public void setJobInstance(JobInstance jobInstance)
      Set the JobInstance used by the JobExecution.
      Parameters:
      jobInstance - The JobInstance used by the JobExecution.
    • setEndTime

      public void setEndTime(Date endTime)
      Set the end time.
      Parameters:
      endTime - The Date to be used for the end time.
    • getStartTime

      public Date getStartTime()
      Returns:
      The current start time.
    • setStartTime

      public void setStartTime(Date startTime)
      Set the start time.
      Parameters:
      startTime - The Date to be used for the start time.
    • getStatus

      public BatchStatus getStatus()
      Returns:
      The current BatchStatus.
    • setStatus

      public void setStatus(BatchStatus status)
      Set the value of the status field.
      Parameters:
      status - the status to set
    • upgradeStatus

      public void upgradeStatus(BatchStatus status)
      Upgrade the status field if the provided value is greater than the existing one. Clients using this method to set the status can be sure that they don't overwrite a failed status with an successful one.
      Parameters:
      status - the new status value
    • getJobId

      public Long getJobId()
      Convenience getter for for the id of the enclosing job. Useful for DAO implementations.
      Returns:
      the id of the enclosing job
    • setExitStatus

      public void setExitStatus(ExitStatus exitStatus)
      Parameters:
      exitStatus - ExitStatus instance to be used for job execution.
    • getExitStatus

      public ExitStatus getExitStatus()
      Returns:
      the exitCode
    • getJobInstance

      public JobInstance getJobInstance()
      Returns:
      the Job that is executing.
    • getStepExecutions

      public Collection<StepExecution> getStepExecutions()
      Accessor for the step executions.
      Returns:
      the step executions that were registered
    • createStepExecution

      public StepExecution createStepExecution(String stepName)
      Register a step execution with the current job execution.
      Parameters:
      stepName - the name of the step the new execution is associated with
      Returns:
      StepExecution an empty StepExecution associated with this JobExecution.
    • isRunning

      public boolean isRunning()
      Test if this JobExecution indicates that it is running. It should be noted that this does not necessarily mean that it has been persisted as such yet.
      Returns:
      true if the end time is null and the start time is not null
    • isStopping

      public boolean isStopping()
      Test if this JobExecution indicates that it has been signalled to stop.
      Returns:
      true if the status is BatchStatus.STOPPING
    • setExecutionContext

      public void setExecutionContext(ExecutionContext executionContext)
      Sets the ExecutionContext for this execution
      Parameters:
      executionContext - the context
    • getExecutionContext

      public ExecutionContext getExecutionContext()
      Returns the ExecutionContext for this execution. The content is expected to be persisted after each step completion (successful or not).
      Returns:
      the context
    • getCreateTime

      public Date getCreateTime()
      Returns:
      the time when this execution was created.
    • setCreateTime

      public void setCreateTime(Date createTime)
      Parameters:
      createTime - creation time of this execution.
    • getLastUpdated

      public Date getLastUpdated()
      Get the date representing the last time this JobExecution was updated in the JobRepository.
      Returns:
      Date representing the last time this JobExecution was updated.
    • setLastUpdated

      public void setLastUpdated(Date lastUpdated)
      Set the last time this JobExecution was updated.
      Parameters:
      lastUpdated - Date instance to mark job execution's lastUpdated attribute.
    • getFailureExceptions

      public List<Throwable> getFailureExceptions()
      Retrieve a list of exceptions.
      Returns:
      The List of Throwable objects.
    • addFailureException

      public void addFailureException(Throwable t)
      Add the provided throwable to the failure exception list.
      Parameters:
      t - Throwable instance to be added failure exception list.
    • getAllFailureExceptions

      public List<Throwable> getAllFailureExceptions()
      Return all failure causing exceptions for this JobExecution, including step executions.
      Returns:
      List<Throwable> containing all exceptions causing failure for this JobExecution.
    • toString

      public String toString()
      Overrides:
      toString in class Entity
    • addStepExecutions

      public void addStepExecutions(List<StepExecution> stepExecutions)
      Add some step executions. For internal use only.
      Parameters:
      stepExecutions - step executions to add to the current list