Interface FlowExecutor
- All Known Implementing Classes:
JobFlowExecutor
,JsrFlowExecutor
public interface FlowExecutor
Context and execution strategy forFlowJob
to allow it to delegate its execution step by step.- Since:
- 2.0
- Author:
- Dave Syer, Mahmoud Ben Hassine
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
abandonStepExecution()
Handle any status changes that might be needed at the start of a state.void
addExitStatus(java.lang.String code)
void
close(FlowExecution result)
Chance to clean up resources at the end of a flow (whether it completed successfully or not).java.lang.String
executeStep(Step step)
JobExecution
getJobExecution()
StepExecution
getStepExecution()
boolean
isRestart()
void
updateJobExecutionStatus(FlowExecutionStatus status)
Handle any status changes that might be needed in theJobExecution
.
Method Detail
executeStep
java.lang.String executeStep(Step step) throws JobInterruptedException, JobRestartException, StartLimitExceededException
- Parameters:
step
- aStep
to execute- Returns:
- the exit status that drives the surrounding
Flow
- Throws:
StartLimitExceededException
- thrown if start limit is exceeded.JobRestartException
- thrown if job restart is not allowed.JobInterruptedException
- thrown if job was interrupted.
getJobExecution
JobExecution getJobExecution()
- Returns:
- the current
JobExecution
getStepExecution
@Nullable StepExecution getStepExecution()
- Returns:
- the latest
StepExecution
or null if there is none
close
void close(FlowExecution result)
Chance to clean up resources at the end of a flow (whether it completed successfully or not).- Parameters:
result
- the finalFlowExecution
abandonStepExecution
void abandonStepExecution()
Handle any status changes that might be needed at the start of a state.
updateJobExecutionStatus
void updateJobExecutionStatus(FlowExecutionStatus status)
Handle any status changes that might be needed in theJobExecution
.- Parameters:
status
- status to update theJobExecution
to.
isRestart
boolean isRestart()
- Returns:
- true if the flow is at the beginning of a restart
addExitStatus
void addExitStatus(java.lang.String code)
- Parameters:
code
- the label for the exit status when a flow or sub-flow ends