So habe ich das Gefühl, dass ich meinen Jobfluss richtig definiert habe, aber wenn ich ihn ausführe, erhalte ich eine FlowExecutionException, die besagt, dass mein 'Next state nicht im Flow' für den Flow 'd' gefunden wurde. .Spring Batch Flow - Der nächste Status wird nicht gefunden
Ich verwende einen Tasklet, die eine JobExecutionListener wie folgt implementiert, die wie beabsichtigt zu sein scheint:
@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");
}
}
Hier ist meine Job-Konfiguration. Ich würde es auch gerne vereinfachen (alle Schritte gehen nach "b", also möchte ich, dass es eine "Nachher" -Sache ist), aber ich möchte nur, dass es zuerst funktioniert.
@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();
}
Ich weiß, dass ich einen Teil des Flusses fehlen muss, aber ich kann es nicht lokalisieren.