Я использую аннотации Spring для привязки зависимостей приложений.Как использовать autwire Quartz JobListener
Насколько я могу сказать, что нет никакого способа, чтобы ввести мой JobListener к кварцу SchedulerFactoryBean, как он настроен здесь:
@Bean(name="schedulerFactory")
public SchedulerFactoryBean schedulerFactoryBean() throws Exception {
SchedulerFactoryBean schedulerFactoryBean = new SchedulerFactoryBean();
schedulerFactoryBean.setApplicationContextSchedulerContextKey("applicationContext");
schedulerFactoryBean.setConfigLocation(new ClassPathResource("quartz.properties"));
schedulerFactoryBean.setDataSource(dataSource);
// This call results in the error:
// java.lang.IllegalStateException: Non-global JobListeners not supported on
// Quartz 2 - manually register a Matcher against the Quartz ListenerManager instead
//schedulerFactoryBean.setJobListeners(new JobListener[] { jobActivityListener() });
return schedulerFactoryBean;
}
я в настоящее время того, чтобы программно настроить JobListener должны быть созданы, когда работа первая срабатывает:
ListenerManager listenerManager = scheduler.getListenerManager();
if (listenerManager.getJobListener(jobKey.getName()) == null) {
logger.debug("ADDING JOB LISTENER FOR " + jobKey.getName());
listenerManager.addJobListener(new JobActivityListener(), keyEquals(jobKey));
}
Это не идеально, как хотелось бы, чтобы Spring управлять зависимостями и впрыснуть зависимости, необходимые JobListener.
Есть ли информация о настройке слушателей задания через Spring?