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();
}
我知道我必須錯過流程的某些部分,但我無法找到它。