Я хочу настроить Spring Batch на отправку электронного письма, когда задание началось, а также на отправку электронного письма, когда задание завершено или не выполнено.Я видел некоторые примеры при поиске, например, ссылка здесь на codecentric , но я не использую аннотацию XML в своем проекте.
У меня есть слушатель, который выглядит так, но неуверен, что другие части мне могут понадобиться.Любой ввод будет оценен
public class SendMailListener implements JobExecutionListener {
final static Logger LOGGER = LoggerFactory.getLogger(SendMailListener.class);
@Autowired
private JobExplorer explorer;
@Autowired
private StepExecution stepExecution;
@Override
public void afterJob(JobExecution jobExecution) {
if (jobExecution.getStatus() == BatchStatus.COMPLETED) {
LOGGER.info("The job has been completed with the following parameters: " + jobExecution.getJobParameters());
}
//send email here
}
@Override
public void beforeJob(JobExecution jobExecution) {
// TODO Auto-generated method stub
}
//send email here
}
РЕДАКТИРОВАТЬ:
У меня есть работа, определенная с слушателем:
@Bean(name = "mccINSTANCETESTjob")
public Job mccOrz004job(JobBuilderFactory jobFactory, //
@Qualifier("instanceTestSetupStep") Step orz004SetupStep, //
@Qualifier("callM204Step") Step callM204Step, //
@Autowired SingleInstanceListener listener, @Autowired SendMailListener mailListener) { //
return jobFactory.get("mccINSTANCETESTjob") //
.incrementer(new RunIdIncrementer()) //
.listener(mailListener) //
.start(orz004SetupStep) //
.next(callM204Step) //
.build();
}