Spring 批处理 - beforeJob 似乎不起作用
Spring Batch - beforeJob does not seem working
我有一个像下面这样的工作监听器:
@Component
public class JobCompletionNotificationListener extends JobExecutionListenerSupport {
@Override
public void beforeJob(JobExecution jobExecution) {
if (jobExecution.getStatus() == BatchStatus.STARTED) {
log.info("Job Started... .!!!");
// my logic
} else {
log.error("Job NOT Started... .!!!");
// my logic
}
}
@Override
public void afterJob(JobExecution jobExecution) {
if (jobExecution.getStatus() == BatchStatus.COMPLETED) {
log.info("!!! JOB FINISHED! Time to verify the results");
// my logic
}
}
afterJob 工作正常。完全没有问题。
问题:我看不到来自 beforeJob 的任何消息。我做错了什么或缺少什么link?
您需要将 JobCompletionNotificationListener
侦听器添加到您的作业配置
所以在作业配置中将是这样的:
@Bean
public Job jobConfig(JobCompletionNotificationListener listener, Step yourStep) {
return jobBuilderFactory.get("nameJob")
.incrementer(new RunIdIncrementer())
.listener(listener)
.flow(yourStep)
.end()
.preventRestart()
.build();
}
希望有用
我有一个像下面这样的工作监听器:
@Component
public class JobCompletionNotificationListener extends JobExecutionListenerSupport {
@Override
public void beforeJob(JobExecution jobExecution) {
if (jobExecution.getStatus() == BatchStatus.STARTED) {
log.info("Job Started... .!!!");
// my logic
} else {
log.error("Job NOT Started... .!!!");
// my logic
}
}
@Override
public void afterJob(JobExecution jobExecution) {
if (jobExecution.getStatus() == BatchStatus.COMPLETED) {
log.info("!!! JOB FINISHED! Time to verify the results");
// my logic
}
}
afterJob 工作正常。完全没有问题。
问题:我看不到来自 beforeJob 的任何消息。我做错了什么或缺少什么link?
您需要将 JobCompletionNotificationListener
侦听器添加到您的作业配置
所以在作业配置中将是这样的:
@Bean
public Job jobConfig(JobCompletionNotificationListener listener, Step yourStep) {
return jobBuilderFactory.get("nameJob")
.incrementer(new RunIdIncrementer())
.listener(listener)
.flow(yourStep)
.end()
.preventRestart()
.build();
}
希望有用