Ошибка кварцевого планировщика при создании задания - PullRequest
5 голосов
/ 26 января 2012

Я пытаюсь использовать Quartz 2.1.1 с Spring 3.0.5.

Я настроил Планировщик с этой строкой: <bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"/>

Я написал простой класс под названием TestJob, который реализует интерфейс Job. Я могу успешно настроить задание, запустить его и запланировать. Проблема в том, что когда задание запускается и кварц пытается создать экземпляр класса TestJob, я получаю эту ошибку:

[scheduler_QuartzSchedulerThread] ERROR core.ErrorLogger.schedulerError(2360) | An error occured instantiating job to be
 executed. job= 'TEST_JOB.6d2e7ca2-20cd-4e5f-9f32-1626c7128a5d'
org.quartz.SchedulerException: Problem instantiating class 'com.scheduler.TestJob' -  [See nes
ted exception: java.lang.AbstractMethodError: org.springframework.scheduling.quartz.AdaptableJobFactory.newJob(Lorg/quar
tz/spi/TriggerFiredBundle;Lorg/quartz/Scheduler;)Lorg/quartz/Job;]
        at org.quartz.core.JobRunShell.initialize(JobRunShell.java:141)
        at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:381)
Caused by: java.lang.AbstractMethodError: org.springframework.scheduling.quartz.AdaptableJobFactory.newJob(Lorg/quartz/s
pi/TriggerFiredBundle;Lorg/quartz/Scheduler;)Lorg/quartz/Job;
        at org.quartz.core.JobRunShell.initialize(JobRunShell.java:134)
        ... 1 more

Есть идеи, как обойти эту проблему?

Ответы [ 3 ]

10 голосов
/ 26 января 2012

Кварц 2 и Пружина <3.1 несовместимы. Таким образом, вы можете обновить Spring 3.1 или перейти на Quartz 1.8. Или вы бросаете адаптеры Spring Quartz и используете Quartz 2 вручную. Я рекомендую самый первый метод. </p>

2 голосов
/ 08 июня 2012

Вы также можете присвоить jobFactory кварцевой фабрике пользовательских заданий "SimpleJobFactory"

1 голос
/ 21 октября 2015

У меня просто была очень похожая проблема, которая привела меня сюда - вызванная рефакторингом пакета задания - все работало до тех пор, пока оно не было развернуто в кластер - кварц jdbc использует таблицы со столбцом job_name при сохранении старого пакета, поэтому он задыхался от этого же ошибка. Удалите сохраненные строки триггера или верните его туда, где он должен был быть разрешен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...