How to skip batch step when condition is false

橙三吉。 提交于 2019-12-04 13:20:38
Luca Basso Ricci

Use a JobExecutionDecider

public class RunStepDecider implements JobExecutionDecider {
  public FlowExecutionStatus decide(JobExecution jobExecution, StepExecution stepExecution) {
    final String runStep = jobExecution.getJobParameters().getString("runStep");
    //Depending on the above condition you can return Completed or Failed.
    return new FlowExecutionStatus.COMPLETED;
  }
}
<batch:job id="export1" parent="baseJob">
  <decision id="decision" decider="decider">
    <next on="COMPLETED" to="registruj" />
  </decision>
  <batch:step id="registruj" parent="baseStep">
    <tasklet>
      <chunk reader="registrujReader" processor="registrujProcessor" writer="registrujWriter" commit-interval="1" />
    </tasklet>
  </batch:step>
</batch:job>


<bean id="decider" class="RunStepDecider" />

and pass runStep as JobParameter.

Hope can help to solve your problem.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!