Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 实例化作业时发生Quartz计划程序错误_Java_Spring_Quartz Scheduler - Fatal编程技术网

Java 实例化作业时发生Quartz计划程序错误

Java 实例化作业时发生Quartz计划程序错误,java,spring,quartz-scheduler,Java,Spring,Quartz Scheduler,我正在尝试将Quartz 2.1.1与Spring 3.0.5配合使用 我使用以下行设置计划程序: 我编写了一个名为TestJob的简单类,它实现了Job接口。我能够成功地设置作业并触发和安排它。问题是,当作业被触发并且quartz尝试实例化TestJob类时,我得到以下错误: [scheduler_QuartzSchedulerThread] ERROR core.ErrorLogger.schedulerError(2360) | An error occured instantiatin

我正在尝试将Quartz 2.1.1与Spring 3.0.5配合使用

我使用以下行设置计划程序:

我编写了一个名为
TestJob
的简单类,它实现了
Job
接口。我能够成功地设置作业并触发和安排它。问题是,当作业被触发并且quartz尝试实例化
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

关于如何解决这个问题,您有什么想法吗?

Quartz 2和Spring<3.1不兼容。因此,您可以更新到Spring3.1或降级到Quartz 1.8。或者您放下弹簧石英适配器,手动使用石英2。我推荐第一种方法。

您还可以将jobFactory分配给quartz自定义job factory“SimpleJobFactory”

我刚刚遇到了一个非常类似的问题,导致我出现在这里——这是由重构作业包引起的——在部署到集群之前,一切都正常——quartz jdbc使用带有job_name列的表,旧包被保留,所以它被同样的错误阻塞了。删除保留的触发器行,或将其放回要解析的位置。

能否显示TestJob类的代码?还有你工作的日程安排?不得不升级到Spring3.1,这真是一件痛苦的事,但它成功了!谢谢如果要从3.0升级到3.1,我建议您使用以下指南: