Class StepExecution

  • All Implemented Interfaces:
    java.io.Serializable

    public class StepExecution
    extends Entity
    Batch domain object representation the execution of a step. Unlike JobExecution, there are additional properties related the processing of items such as commit count, etc.
    Author:
    Lucas Ward, Dave Syer
    See Also:
    Serialized Form
    • Constructor Detail

      • StepExecution

        public StepExecution​(java.lang.String stepName,
                             JobExecution jobExecution,
                             java.lang.Long id)
        Constructor with mandatory properties.
        Parameters:
        stepName - the step to which this execution belongs
        jobExecution - the current job execution
        id - the id of this execution
      • StepExecution

        public StepExecution​(java.lang.String stepName,
                             JobExecution jobExecution)
        Constructor that substitutes in null for the execution id
        Parameters:
        stepName - the step to which this execution belongs
        jobExecution - the current job execution
    • Method Detail

      • setExecutionContext

        public void setExecutionContext​(ExecutionContext executionContext)
        Sets the ExecutionContext for this execution
        Parameters:
        executionContext - the attributes
      • getCommitCount

        public int getCommitCount()
        Returns the current number of commits for this execution
        Returns:
        the current number of commits
      • setCommitCount

        public void setCommitCount​(int commitCount)
        Sets the current number of commits for this execution
        Parameters:
        commitCount - the current number of commits
      • getEndTime

        public java.util.Date getEndTime()
        Returns the time that this execution ended
        Returns:
        the time that this execution ended
      • setEndTime

        public void setEndTime​(java.util.Date endTime)
        Sets the time that this execution ended
        Parameters:
        endTime - the time that this execution ended
      • getReadCount

        public int getReadCount()
        Returns the current number of items read for this execution
        Returns:
        the current number of items read for this execution
      • setReadCount

        public void setReadCount​(int readCount)
        Sets the current number of read items for this execution
        Parameters:
        readCount - the current number of read items for this execution
      • getWriteCount

        public int getWriteCount()
        Returns the current number of items written for this execution
        Returns:
        the current number of items written for this execution
      • setWriteCount

        public void setWriteCount​(int writeCount)
        Sets the current number of written items for this execution
        Parameters:
        writeCount - the current number of written items for this execution
      • getRollbackCount

        public int getRollbackCount()
        Returns the current number of rollbacks for this execution
        Returns:
        the current number of rollbacks for this execution
      • getFilterCount

        public int getFilterCount()
        Returns the current number of items filtered out of this execution
        Returns:
        the current number of items filtered out of this execution
      • setFilterCount

        public void setFilterCount​(int filterCount)
        Public setter for the number of items filtered out of this execution.
        Parameters:
        filterCount - the number of items filtered out of this execution to set
      • setRollbackCount

        public void setRollbackCount​(int rollbackCount)
        Setter for number of rollbacks for this execution
        Parameters:
        rollbackCount - int the number of rollbacks.
      • getStartTime

        public java.util.Date getStartTime()
        Gets the time this execution started
        Returns:
        the time this execution started
      • setStartTime

        public void setStartTime​(java.util.Date startTime)
        Sets the time this execution started
        Parameters:
        startTime - the time this execution started
      • getStatus

        public BatchStatus getStatus()
        Returns the current status of this step
        Returns:
        the current status of this step
      • setStatus

        public void setStatus​(BatchStatus status)
        Sets the current status of this step
        Parameters:
        status - the current status of this step
      • 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
      • getStepName

        public java.lang.String getStepName()
        Returns:
        the name of the step
      • getJobExecutionId

        public java.lang.Long getJobExecutionId()
        Accessor for the job execution id.
        Returns:
        the jobExecutionId
      • setExitStatus

        public void setExitStatus​(ExitStatus exitStatus)
        Parameters:
        exitStatus - ExitStatus instance used to establish the exit status.
      • getExitStatus

        public ExitStatus getExitStatus()
        Returns:
        the exitCode
      • getJobExecution

        public JobExecution getJobExecution()
        Accessor for the execution context information of the enclosing job.
        Returns:
        the JobExecution that was used to start this step execution.
      • apply

        public void apply​(StepContribution contribution)
        On successful execution just before a chunk commit, this method should be called. Synchronizes access to the StepExecution so that changes are atomic.
        Parameters:
        contribution - StepContribution instance used to update the StepExecution state.
      • incrementRollbackCount

        public void incrementRollbackCount()
        On unsuccessful execution after a chunk has rolled back.
      • isTerminateOnly

        public boolean isTerminateOnly()
        Returns:
        flag to indicate that an execution should halt
      • setTerminateOnly

        public void setTerminateOnly()
        Set a flag that will signal to an execution environment that this execution (and its surrounding job) wishes to exit.
      • getSkipCount

        public int getSkipCount()
        Returns:
        the total number of items skipped.
      • incrementCommitCount

        public void incrementCommitCount()
        Increment the number of commits
      • getJobParameters

        public JobParameters getJobParameters()
        Convenience method to get the current job parameters.
        Returns:
        the JobParameters from the enclosing job, or empty if that is null
      • getReadSkipCount

        public int getReadSkipCount()
        Returns:
        the number of records skipped on read
      • getWriteSkipCount

        public int getWriteSkipCount()
        Returns:
        the number of records skipped on write
      • setReadSkipCount

        public void setReadSkipCount​(int readSkipCount)
        Set the number of records skipped on read
        Parameters:
        readSkipCount - int containing read skip count to be used for the step execution.
      • setWriteSkipCount

        public void setWriteSkipCount​(int writeSkipCount)
        Set the number of records skipped on write
        Parameters:
        writeSkipCount - int containing write skip count to be used for the step execution.
      • getProcessSkipCount

        public int getProcessSkipCount()
        Returns:
        the number of records skipped during processing
      • setProcessSkipCount

        public void setProcessSkipCount​(int processSkipCount)
        Set the number of records skipped during processing.
        Parameters:
        processSkipCount - int containing process skip count to be used for the step execution.
      • getLastUpdated

        public java.util.Date getLastUpdated()
        Returns:
        the Date representing the last time this execution was persisted.
      • setLastUpdated

        public void setLastUpdated​(java.util.Date lastUpdated)
        Set the time when the StepExecution was last updated before persisting
        Parameters:
        lastUpdated - Date instance used to establish the last updated date for the Step Execution.
      • getFailureExceptions

        public java.util.List<java.lang.Throwable> getFailureExceptions()
      • addFailureException

        public void addFailureException​(java.lang.Throwable throwable)
      • equals

        public boolean equals​(java.lang.Object obj)
        Description copied from class: Entity
        Attempt to establish identity based on id if both exist. If either id does not exist use Object.equals().
        Overrides:
        equals in class Entity
        See Also:
        Object.equals(java.lang.Object)
      • hashCode

        public int hashCode()
        Description copied from class: Entity
        Use ID if it exists to establish hash code, otherwise fall back to Object.hashCode(). Based on the same information as equals, so if that changes, this will. N.B. this follows the contract of Object.hashCode(), but will cause problems for anyone adding an unsaved Entity to a Set because Set.contains() will almost certainly return false for the Entity after it is saved. Spring Batch does not store any of its entities in Sets as a matter of course, so internally this is consistent. Clients should not be exposed to unsaved entities.
        Overrides:
        hashCode in class Entity
        See Also:
        Object.hashCode()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class Entity
      • getSummary

        public java.lang.String getSummary()