请选择 进入手机版 | 继续访问电脑版

3 评论

0 收藏

分享

多步骤任务不往下执行

目前正在学习spring-batch,多步骤任务下根据上一个步骤状态执行下一步时,后边的步骤不会执行, .on("*")也不会执行
: @! D; X& h- {% ]  Z* W) {7 D, ]# ]1 o& F+ p8 R: v9 l/ W
0 V3 A7 Q! S* n; R4 A. K# v" P" u4 ?

! S0 L/ d  m4 }
[Java] 纯文本查看 复制代码
@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();
    }
}

" a8 k$ x, q6 P# d& |0 k: W
/ x: G7 S$ D+ l; n1 x, u6 C- o& t7 h% }7 m
回复

举报 使用道具

全部回复 (3)
查看全部
本帖最后由 18234759903 于 2022-9-26 15:10 编辑 $ O4 P# M. h3 e8 ?# |
6 O! ~) u  @, y# i
企业微信截图_16641759743708.png

举报 回复 使用道具

举报 回复 使用道具

采用的版本是2.5.9,在2.2.4.RELEASE不会发生这个问题

举报 回复 使用道具

主题 1
回复 4
粉丝 0
快速回复 返回顶部 返回列表