2 回答

TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超9個(gè)贊
您需要定義一個(gè)類(lèi)型的 bean JavaMailSender(例如在您共享的鏈接中),例如:
@Bean
public JavaMailSender javaMailSender() {
JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl();
// set properties on javaMailSender (user, password, etc)
return javaMailSender;
}
然后,您可以SendMailListener像使用作業(yè)資源管理器一樣將其注入您的系統(tǒng)中。注入后,可以使用郵件發(fā)件人發(fā)送電子郵件,這是一個(gè)示例:
public class SendMailListener implements JobExecutionListener {
final static Logger LOGGER = LoggerFactory.getLogger(SendMailListener.class);
@Autowired // field injection is not recommended, use constructor injection instead
private JobExplorer explorer;
@Autowired // field injection is not recommended, use constructor injection instead
private JavaMailSender javaMailSender;
@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
MimeMessage message = javaMailSender.createMimeMessage();
// set message properties (sender, receiver, content)
javaMailSender.send(message);
}
@Override
public void beforeJob(JobExecution jobExecution) {
// TODO Auto-generated method stub
//send email here
MimeMessage message = javaMailSender.createMimeMessage();
// set message properties (sender, receiver, content)
javaMailSender.send(message);
}
}

TA貢獻(xiàn)1712條經(jīng)驗(yàn) 獲得超3個(gè)贊
因此,對(duì)于 XML 表示法的解決方法,您可以使用類(lèi)似的作業(yè)配置。
@Bean
public Job demoJob(){
return jobs.get("demoJob")
.incrementer(new RunIdIncrementer())
.listener(new JobResultListener())
.start(demostep())
.build();
}
你可以在這里找到合適的文章:https ://howtodoinjava.com/spring-batch/spring-batch-event-listeners/
添加回答
舉報(bào)