目前正在学习spring-batch,多步骤任务下根据上一个步骤状态执行下一步时,后边的步骤不会执行, .on("*")也不会执行
. H" Q; F$ c7 b# p9 p* f8 P6 n+ ~: ?
! I! X; H |- F( a
" V1 F: g8 W) r, t5 |2 T, k$ g[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();
}
}
1 @; \# t* G& z: p4 |
* N4 v5 b6 D8 [/ n, ^5 u, T& p+ |& A* m. N
|