Вы можете создать решение на основе системного свойства, чтобы решить, какой шаг использовать, например:
class MyDecider implements JobExecutionDecider {
@Override
public FlowExecutionStatus decide(JobExecution jobExecution, StepExecution stepExecution) {
String operation = System.getProperty("operation");
if (operation.equalsIgnoreCase("create"))
return new FlowExecutionStatus("create");
else {
return new FlowExecutionStatus("update");
}
}
}
Затем используйте это решение в определении задания:
<beans:bean id="decider" class="MyDecider"/>
<job id="job">
<step id="step1" next="decision" />
<decision id="decision" decider="decider">
<next on="create" to="createStep" />
<next on="update" to="updateStep" />
</decision>
<step id="createStep"/>
<step id="updateStep"/>
</job>