0
여러 단계가있는 주 스프링 배치 작업이 하나 있습니다. 어떤 이유로 그 작업이 실패하면 다른 작업을 호출하여 데이터베이스의 테이블을 실패 결과로 업데이트해야합니다.원본 작업이 실패한 경우 별도의 스프링 배치 작업을 실행하십시오.
일괄 처리 흐름을 구성하려면 어떻게해야합니까?
는 그래서 같은 JobExecution을 만들었지 만 나는 경우/else 문 중 하나에서 새 작업을 호출하는 방법을 모르는 :@Bean
public JobExecutionListener dataListener() {
JobCompletionNotificationListener dataNotificationListener = new JobCompletionNotificationListener(new JdbcTemplate(dataDataSource));
dataNotificationListener.afterJob(jobExecution());
return dataNotificationListener;
}
@Bean
public JobExecution jobExecution() {
JobExecution jobExecution = new JobExecution(jobExecution());
if (jobExecution.getStatus() == BatchStatus.COMPLETED) {
// If job completed successfully, update current job log to success
} else if (jobExecution.getStatus() == BatchStatus.FAILED) {
// If job failed, update current job log to failure
}
return jobExecution;
}
ItemWriter가 예외를 throw하고 종료 코드로 종료 프로세스를 종료 할 때 사용할 수 있습니다. 종료 코드가 도착하면 물건에 db의 데이터를 저장하십시오. – Rajesh
리스너 afterJob()을 사용한다고 가정합니다. afterJob 메소드()에서 작업 상태를 확인할 수 있으므로 논리를 수행 할 수 있습니다. –