org.springframework.batch.core
Class StepExecution

java.lang.Object
  extended by org.springframework.batch.core.Entity
      extended by org.springframework.batch.core.StepExecution
All Implemented Interfaces:
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 Summary
StepExecution(String stepName, JobExecution jobExecution)
          Constructor that substitutes in null for the execution id
StepExecution(String stepName, JobExecution jobExecution, Long id)
          Constructor with mandatory properties.
 
Method Summary
 void addFailureException(Throwable throwable)
           
 void apply(StepContribution contribution)
          On successful execution just before a chunk commit, this method should be called.
 StepContribution createStepContribution()
          Factory method for StepContribution.
 boolean equals(Object obj)
          Attempt to establish identity based on id if both exist.
 int getCommitCount()
          Returns the current number of commits for this execution
 Date getEndTime()
          Returns the time that this execution ended
 ExecutionContext getExecutionContext()
          Returns the ExecutionContext for this execution
 ExitStatus getExitStatus()
           
 List<Throwable> getFailureExceptions()
           
 int getFilterCount()
          Returns the current number of items filtered out of this execution
 JobExecution getJobExecution()
          Accessor for the execution context information of the enclosing job.
 Long getJobExecutionId()
          Accessor for the job execution id.
 JobParameters getJobParameters()
          Convenience method to get the current job parameters.
 Date getLastUpdated()
           
 int getProcessSkipCount()
           
 int getReadCount()
          Returns the current number of items read for this execution
 int getReadSkipCount()
           
 int getRollbackCount()
          Returns the current number of rollbacks for this execution
 int getSkipCount()
           
 Date getStartTime()
          Gets the time this execution started
 BatchStatus getStatus()
          Returns the current status of this step
 String getStepName()
           
 String getSummary()
           
 int getWriteCount()
          Returns the current number of items written for this execution
 int getWriteSkipCount()
           
 int hashCode()
          Use ID if it exists to establish hash code, otherwise fall back to Object.hashCode().
 void incrementCommitCount()
          Increment the number of commits
 void incrementRollbackCount()
          On unsuccessful execution after a chunk has rolled back.
 boolean isTerminateOnly()
           
 void setCommitCount(int commitCount)
          Sets the current number of commits for this execution
 void setEndTime(Date endTime)
          Sets the time that this execution ended
 void setExecutionContext(ExecutionContext executionContext)
          Sets the ExecutionContext for this execution
 void setExitStatus(ExitStatus exitStatus)
           
 void setFilterCount(int filterCount)
          Public setter for the number of items filtered out of this execution.
 void setLastUpdated(Date lastUpdated)
          Set the time when the StepExecution was last updated before persisting
 void setProcessSkipCount(int processSkipCount)
          Set the number of records skipped during processing.
 void setReadCount(int readCount)
          Sets the current number of read items for this execution
 void setReadSkipCount(int readSkipCount)
          Set the number of records skipped on read
 void setRollbackCount(int rollbackCount)
          Setter for number of rollbacks for this execution
 void setStartTime(Date startTime)
          Sets the time this execution started
 void setStatus(BatchStatus status)
          Sets the current status of this step
 void setTerminateOnly()
          Set a flag that will signal to an execution environment that this execution (and its surrounding job) wishes to exit.
 void setWriteCount(int writeCount)
          Sets the current number of written items for this execution
 void setWriteSkipCount(int writeSkipCount)
          Set the number of records skipped on write
 String toString()
           
 void upgradeStatus(BatchStatus status)
          Upgrade the status field if the provided value is greater than the existing one.
 
Methods inherited from class org.springframework.batch.core.Entity
getId, getVersion, incrementVersion, setId, setVersion
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

StepExecution

public StepExecution(String stepName,
                     JobExecution jobExecution,
                     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(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

getExecutionContext

public ExecutionContext getExecutionContext()
Returns the ExecutionContext for this execution

Returns:
the attributes

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 Date getEndTime()
Returns the time that this execution ended

Returns:
the time that this execution ended

setEndTime

public void setEndTime(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


getStartTime

public Date getStartTime()
Gets the time this execution started

Returns:
the time this execution started

setStartTime

public void setStartTime(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 String getStepName()
Returns:
the name of the step

getJobExecutionId

public Long getJobExecutionId()
Accessor for the job execution id.

Returns:
the jobExecutionId

setExitStatus

public void setExitStatus(ExitStatus exitStatus)
Parameters:
exitStatus -

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.

createStepContribution

public StepContribution createStepContribution()
Factory method for StepContribution.

Returns:
a new StepContribution

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 -

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 -

setWriteSkipCount

public void setWriteSkipCount(int writeSkipCount)
Set the number of records skipped on write

Parameters:
writeSkipCount -

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 -

getLastUpdated

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

setLastUpdated

public void setLastUpdated(Date lastUpdated)
Set the time when the StepExecution was last updated before persisting

Parameters:
lastUpdated -

getFailureExceptions

public List<Throwable> getFailureExceptions()

addFailureException

public void addFailureException(Throwable throwable)

equals

public boolean equals(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 String toString()
Overrides:
toString in class Entity

getSummary

public String getSummary()


Copyright © 2009 SpringSource. All Rights Reserved.