2012-01-25 24 views
5

Próbuję użyć programu Quartz 2.1.1 ze sprężyną 3.0.5.Błąd programu kwarcowego podczas tworzenia zadania

skonfigurować Harmonogram z tej linii: <bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"/>

napisałem prostą klasę o nazwie TestJob która implementuje interfejs Job. Jestem w stanie z powodzeniem skonfigurować pracę i uruchomić ją i zaplanować. Problemem jest to, że po włączeniu pracy i kwarc próbuje instancję klasy TestJob, otrzymuję ten błąd:

[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 

Wszelkie pomysły, jak obejść ten problem?

+0

Czy możesz pokazać kod swojej klasy TestJob? A także harmonogram twojej pracy? –

Odpowiedz

10

Kwarc 2 i sprężyna < 3.1 są niekompatybilne. Możesz zaktualizować do wersji 3.1 lub przejść na wersję 1.8. Albo upuszczasz adaptery Spring Quartz i używasz Quartz 2 ręcznie. Polecam pierwszą metodę.

+0

Dzięki. To zadziałało doskonale –

+0

Musiałem uaktualnić do wiosny 3.1, która była takim bólem, ale zadziałało! Dzięki! – portforwardpodcast

+2

Jeśli aktualizujesz z 3.0 do 3.1, polecam ten przewodnik: http://www.heyitsopower.com/code/upgrading-from-spring-3-0-x-to-spring-3-1-x/ – portforwardpodcast

2

Można również przypisać jobFactory do kwarcowy niestandardową zakład pracy „SimpleJobFactory”

1

Właśnie miał bardzo podobny problem, który doprowadził mnie tutaj - spowodowane przez refactoring pakiet praca za - wszystko działało aż został wdrożony do klastra - jdbc kwarcowy używa tabel z kolumną job_name ze starym pakietem, który został zablokowany z tym samym błędem. Usuń utrwalone wiersze wyzwalaczy lub umieść je z powrotem w miejscu, w którym miało zostać rozwiązane.

Powiązane problemy