#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 есть все, что вам нужно