Код общего доступа работает для меня. Но вы можете попробовать альтернативные реализации, как показано ниже, чтобы проверить, работает ли это для вас,
Фрагмент, чтобы показать пример конфигурации задания со слушателем,
Job job = jobBuilderFactory.get("jobName").incrementer(new RunIdIncrementer())
.start(step1()).next(step2()).next(step3()).next(step4).end()
.listener(jobCompletionListener()).build();
@Bean
public JobCompletionListener jobCompletionListener() {
return new JobCompletionListener();
}
Фрагмент реализации JobCompletionListener,
public class JobCompletionListener extends JobExecutionListenerSupport {
private static final Logger logger = LoggerFactory.getLogger(JobCompletionListener.class);
@Override
public void afterJob(JobExecution jobExecution) {
if (jobExecution.getStatus() == BatchStatus.COMPLETED) {
logger.info("Job execution completed successfully");
} else {
logger.error("Job Execution Failed");
}
}
}