Исключения планировщика Quartz 2.0

#quartz-scheduler

#quartz-планировщик

Вопрос:

мы используем фреймворк quartz 2.0. Я только что загрузил пакеты quartz и поместил их в путь сборки моего проекта. Если я выполняю тот же график, который я использовал для quartz 1.6, он выдает следующее исключение:

 Exception in thread "main" java.lang.NoClassDefFoundError: org.slf4j.LoggerFactory
    at org.quartz.impl.StdSchedulerFactory.<init>(StdSchedulerFactory.java:274)
    at org.quartz.impl.StdSchedulerFactory.getDefaultScheduler(StdSchedulerFactory.java:1480)
    at QuartzTest.main(QuartzTest.java:10)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
    at java.net.URLClassLoader.findClass(URLClassLoader.java:421)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:643)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:346)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:609)
    ... 3 more
 

Мой код на данный момент, если только запускать и останавливать schedular. Я буду признателен, если какой-либо орган сможет мне в этом помочь.

Также в версии 2.x способ создания объекта для jobdetail, похоже, немного отличается. Если я создам объект таким образом:

 JobDetail jobDetail = new JobDetail("jobDetail-s1", "jobDetailGroup-s1", SimpleQuartzJob.class);
 

IDE говорит, что ..не удается создать экземпляр типа JobDetail.

Пожалуйста, помогите.

Ответ №1:

Обратите внимание, что Quartz 2.0 не поддерживается веткой Spring 3 до выпуска Spring 3.1 См. Здесь (Примечания к выпуску Spring).

Это тоже сводило меня с ума, поскольку их примеры и наш старый код больше не работали. Я предположил, что мы что-то сломали, однако именно Spring / Quartz сломали это. Я переключился обратно на Quartz 1.5.2 и Spring 3.0.5, и все работает хорошо.

Еще один пример капризов Spring dogma.

Ответ №2:

В руководстве по миграции Quartz 2.x есть все, что вам нужно