public class JobFlowExecutor extends java.lang.Object implements FlowExecutor
FlowExecutor
for use in components that need to
execute a flow related to a JobExecution
.Modifier and Type | Field and Description |
---|---|
protected ExitStatus |
exitStatus |
Constructor and Description |
---|
JobFlowExecutor(JobRepository jobRepository,
StepHandler stepHandler,
JobExecution execution) |
Modifier and Type | Method and 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) |
protected BatchStatus |
findBatchStatus(FlowExecutionStatus status) |
JobExecution |
getJobExecution() |
StepExecution |
getStepExecution() |
boolean |
isRestart() |
void |
updateJobExecutionStatus(FlowExecutionStatus status)
Handle any status changes that might be needed in the
JobExecution . |
protected ExitStatus exitStatus
public JobFlowExecutor(JobRepository jobRepository, StepHandler stepHandler, JobExecution execution)
jobRepository
- instance of JobRepository
.stepHandler
- instance of StepHandler
.execution
- instance of JobExecution
.public java.lang.String executeStep(Step step) throws JobInterruptedException, JobRestartException, StartLimitExceededException
executeStep
in interface FlowExecutor
step
- a Step
to executeFlow
JobInterruptedException
- thrown if job was interrupted.JobRestartException
- thrown if job restart is not allowed.StartLimitExceededException
- thrown if start limit is exceeded.public void abandonStepExecution()
FlowExecutor
abandonStepExecution
in interface FlowExecutor
public void updateJobExecutionStatus(FlowExecutionStatus status)
FlowExecutor
JobExecution
.updateJobExecutionStatus
in interface FlowExecutor
status
- status to update the JobExecution
to.public JobExecution getJobExecution()
getJobExecution
in interface FlowExecutor
JobExecution
@Nullable public StepExecution getStepExecution()
getStepExecution
in interface FlowExecutor
StepExecution
or null if there is nonepublic void close(FlowExecution result)
FlowExecutor
close
in interface FlowExecutor
result
- the final FlowExecution
public boolean isRestart()
isRestart
in interface FlowExecutor
public void addExitStatus(java.lang.String code)
addExitStatus
in interface FlowExecutor
code
- the label for the exit status when a flow or sub-flow endsprotected BatchStatus findBatchStatus(FlowExecutionStatus status)
status
- FlowExecutionStatus
to convert.BatchStatus
appropriate for the FlowExecutionStatus
provided