【问题标题】:How to add Quartz JobListener如何添加 Quartz JobListener
【发布时间】:2020-07-07 08:55:02
【问题描述】:

我正在编写一个 java/spring 库以包含在使用石英的其他项目中。我需要它在每个任务执行之前记录一些东西。

我有一个简单的 JobListener,如下所示:

public class MyJobListener extends JobListenerSupport {
    private static final Logger log = LogManager.getLogger(LoggingJobListener.class);

    @Override
    public String getName() {
        return "MyJobListener";
    }

    @Override
    public void jobToBeExecuted(JobExecutionContext context) {
        log.info("job will start")   
    }
}

我知道我们可以这样做来添加作业监听器:

scheduler.getListenerManager().addJobListener(myJobListener, allJobs());

但是我怎样才能让调度程序添加以便我可以添加侦听器?

我已尝试实现SchedulerFactoryBeanCustomizer,但不知道如何添加监听器(因为尚未创建调度程序?)

【问题讨论】:

    标签: java spring spring-boot quartz-scheduler scheduling


    【解决方案1】:

    您可以添加一个 Postconstruct 并在那里添加 JobListener。

    @Component
    public class JobListenerConfig {
    
        @Autowired
        private SchedulerFactoryBean schedulerFactoryBean;
    
        @PostConstruct
        public void addListeners() throws SchedulerException {
    
            schedulerFactoryBean.getScheduler()
                                .getListenerManager()
                                .addJobListener(new MyJobListener());
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2021-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-06
      • 2011-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多