Я сделал проект с Spring Batch несколько месяцев назад.Использование JobExecutionDecider с весенним загрузочным пакетом
Этот проект работает отлично, и в том числе реализацию JobExecutionDecider
public class BatchDecider implements JobExecutionDecider {
private static final Logger log = LoggerFactory.getLogger(BatchDecider.class);
@Autowired
ConfigurationServiceWs config;
public FlowExecutionStatus decide(JobExecution jobExecution, StepExecution stepExecution) {
if (codition) {
return new FlowExecutionStatus("AGAIN");
} else {
return new FlowExecutionStatus("FINISH");
}
}
Это работает Фини только с Spring Batch.
Теперь я должен использовать его с весной Boot Batch. Весь процесс работает нормально до этапа принятия решения. Где я возвращаю хороший FlowExecutionStatus, но я не знаю почему, работа завершена с статусом «FAILED».
2017-01-19 17:11:35.347 DEBUG 23056 --- [nio-8081-exec-1] o.s.b.core.job.flow.support.SimpleFlow : Completed state=Global Job.decision0 with status=AGAIN
2017-01-19 17:11:39.074 DEBUG 23056 --- [nio-8081-exec-1] o.s.b.core.job.flow.support.SimpleFlow : Handling state=Global Job.FAILED
2017-01-19 17:11:41.002 DEBUG 23056 --- [nio-8081-exec-1] o.s.b.core.job.flow.support.SimpleFlow : Completed state=Global Job.FAILED with status=FAILED
2017-01-19 17:11:43.170 DEBUG 23056 --- [nio-8081-exec-1] o.s.batch.core.job.AbstractJob : Job execution complete: JobExecution: id=0, version=1, startTime=Thu Jan 19 17:11:12 CET 2017, endTime=null, lastUpdated=Thu Jan 19 17:11:12 CET 2017, status=FAILED, exitStatus=exitCode=FAILED;exitDescription=, job=[JobInstance: id=0, version=0, Job=[Global Job]], jobParameters=[{time=1484842272108}]
У кого-то есть идея, почему не работает?
Спасибо!
Вы уверены, что код был выполнен как 'condition' работает нормально без ошибок? –
Да, как вы можете видеть на первой строке журнала, статус «status = AGAIN». И в режиме отладки передаю условие. В классе Spring-Batch SilpmeFlow я вижу эволюцию состояния, и FAILED появляется после состояния, ПОЛУЧЕННОГО РЕШЕНИЕМ. –