1
所以我觉得我已经正确定义了我的工作流程,但是当我运行它时,我得到一个FlowExecutionException,表示流程'd'中没有找到'下一个状态' 。Spring批处理流程 - 获取下一个状态
我使用实现JobExecutionListener如下这似乎是如预期运行一个tasklet:
@Override
public ExitStatus afterStep(StepExecution stepExecution) {
if(a && b) {
return new ExitStatus("a");
} else if(c) {
return new ExitStatus("b");
} else if(d) {
return new ExitStatus("c");
} else {
return new ExitStatus("d");
}
}
这是我的工作配置。我也想简化它(所有的步骤都会'b',所以我希望这是一个'之后'的事情),但只是希望它首先工作。
@Bean
public Job job() {
LOGGER.info("STARTING BATCH JOB");
return jobs.get("job")
.incrementer(new RunIdIncrementer())
.start(taskletStep())
.on("a")
.to(step1a)
.next(step2)
.on("b")
.to(step2)
.on("c")
.to(step2)
.on("d")
.to(step1b)
.next(step2)
.on("*").end()
.end()
.build();
}
我知道我必须错过流程的某些部分,但我无法找到它。