org.springframework.batch.core.job.flow
Class JobFlowExecutor

java.lang.Object
  extended by org.springframework.batch.core.job.flow.JobFlowExecutor
All Implemented Interfaces:
FlowExecutor

public class JobFlowExecutor
extends Object
implements FlowExecutor

Implementation of FlowExecutor for use in components that need to execute a flow related to a JobExecution.

Author:
Dave Syer

Constructor Summary
JobFlowExecutor(JobRepository jobRepository, StepHandler stepHandler, JobExecution execution)
           
 
Method Summary
 void abandonStepExecution()
          Handle any status changes that might be needed at the start of a state.
 void addExitStatus(String code)
           
 void close(FlowExecution result)
          Chance to clean up resources at the end of a flow (whether it completed successfully or not).
 String executeStep(Step step)
           
 JobExecution getJobExecution()
           
 StepExecution getStepExecution()
           
 boolean isRestart()
           
 void updateJobExecutionStatus(FlowExecutionStatus status)
          Handle any status changes that might be needed in the JobExecution.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JobFlowExecutor

public JobFlowExecutor(JobRepository jobRepository,
                       StepHandler stepHandler,
                       JobExecution execution)
Parameters:
execution -
Method Detail

executeStep

public String executeStep(Step step)
                   throws JobInterruptedException,
                          JobRestartException,
                          StartLimitExceededException
Specified by:
executeStep in interface FlowExecutor
Parameters:
step - a Step to execute
Returns:
the exit status that drives the surrounding Flow
Throws:
JobInterruptedException
JobRestartException
StartLimitExceededException

abandonStepExecution

public void abandonStepExecution()
Description copied from interface: FlowExecutor
Handle any status changes that might be needed at the start of a state.

Specified by:
abandonStepExecution in interface FlowExecutor

updateJobExecutionStatus

public void updateJobExecutionStatus(FlowExecutionStatus status)
Description copied from interface: FlowExecutor
Handle any status changes that might be needed in the JobExecution.

Specified by:
updateJobExecutionStatus in interface FlowExecutor

getJobExecution

public JobExecution getJobExecution()
Specified by:
getJobExecution in interface FlowExecutor
Returns:
the current JobExecution

getStepExecution

public StepExecution getStepExecution()
Specified by:
getStepExecution in interface FlowExecutor
Returns:
the latest StepExecution or null if there is none

close

public void close(FlowExecution result)
Description copied from interface: FlowExecutor
Chance to clean up resources at the end of a flow (whether it completed successfully or not).

Specified by:
close in interface FlowExecutor
Parameters:
result - the final FlowExecution

isRestart

public boolean isRestart()
Specified by:
isRestart in interface FlowExecutor
Returns:
true if the flow is at the beginning of a restart

addExitStatus

public void addExitStatus(String code)
Specified by:
addExitStatus in interface FlowExecutor
Parameters:
code - the label for the exit status when a flow or sub-flow ends


Copyright © 2013 SpringSource. All Rights Reserved.