18234759903 发表于 2022-9-26 15:06:48

多步骤任务不往下执行

目前正在学习spring-batch,多步骤任务下根据上一个步骤状态执行下一步时,后边的步骤不会执行, .on("*")也不会执行



@Component
public class MultiStepJobDemo {

    @Resource
    private JobBuilderFactory jobBuilderFactory;
    @Resource
    private StepBuilderFactory stepBuilderFactory;

    @Bean
    public Job multiStepJob() {
      // 根据上一个步骤状态执行下一步
      return jobBuilderFactory.get("multiStepJob2")
                .start(step1())
                .on(ExitStatus.COMPLETED.getExitCode()).to(step2())
                .from(step2())
                .on("COMPLETED").to(step3())
                .from(step3()).end()
                .build();

      // return jobBuilderFactory.get("multiStepJob")
      //                .start(step1())
      //                .next(step2())
      //                .next(step3())
      //                .build();
    }

    private Step step1() {
      return stepBuilderFactory.get("step1")
                .tasklet((stepContribution, chunkContext) -> {
                  System.out.println("执行步骤一操作。。。");
                  return RepeatStatus.FINISHED;
                }).build();
    }

    private Step step2() {
      return stepBuilderFactory.get("step2")
                .tasklet((stepContribution, chunkContext) -> {
                  System.out.println("执行步骤二操作。。。");
                  return RepeatStatus.FINISHED;
                }).build();
    }

    private Step step3() {
      return stepBuilderFactory.get("step3")
                .tasklet((stepContribution, chunkContext) -> {
                  System.out.println("执行步骤三操作。。。");
                  return RepeatStatus.FINISHED;
                }).build();
    }
}


18234759903 发表于 2022-9-26 15:08:51

本帖最后由 18234759903 于 2022-9-26 15:10 编辑

https://img-mid.csdnimg.cn/release/static/image/mid/ask/095630671466197.png

18234759903 发表于 2022-9-26 15:10:13

https://img-mid.csdnimg.cn/release/static/image/mid/ask/095630671466197.png

18234759903 发表于 2022-9-26 16:00:32

采用的版本是2.5.9,在2.2.4.RELEASE不会发生这个问题
页: [1]
查看完整版本: 多步骤任务不往下执行