java.lang.NoSuchMethodError:org.springframework.scheduling.quartz.SchedulerFactoryBean.getScheduler()Lorg / quartz / Scheduler;

时间:2013-12-30 23:06:01

标签: java spring quartz-scheduler

我不知道我在这里做错了什么。我收到错误

java.lang.NoSuchMethodError: org.springframework.scheduling.quartz.SchedulerFactoryBean.getScheduler()Lorg/quartz/Scheduler;

这是造成的     公共类myJobLauncher {

@Autowired
@Qualifier("myQuartzScheduler")
    private  SchedulerFactoryBean scheduler_factory = null;
.......
    ........
        Scheduler someScheduler = scheduler_factory.getScheduler();

这是我的xml文件

    <?xml version="1.0" encoding="UTF-8"?>
<beans  xmlns="http://www.springframework.org/schema/beans"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
        http://www.springframework.org/schema/task
        http://www.springframework.org/schema/task/spring-task-4.0.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-4.0.xsd">          
 ....
 <bean id="myQuartzScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
 <property name="autoStartup">
  <value>true</value>
</property>
<property name="name">
  <value>myScheduler</value>
</property>
<property name="quartzProperties">
  <props>
    <prop key="org.quartz.threadPool.class">org.quartz.simpl.SimpleThreadPool</prop>
    <prop key="org.quartz.threadPool.threadCount">1</prop>
    <prop key="org.quartz.jobStore.class">org.quartz.simpl.RAMJobStore</prop>
    <prop key="org.quartz.scheduler.skipUpdateCheck">true</prop>
  </props>
</property>
  <property name="jobFactory">
        <bean  class="org.springframework.scheduling.quartz.SpringBeanJobFactory" />
  </property>

不确定为什么我会得到那个例外

这是我的pom文件条目                           org.quartz调度             石英             1.8.6         

使用spring framework 4.0.0

添加了所有spring-context-support,spring-context,beans,transaction。

我们有一些使用上述版本的石英的客户端代码,我们正在整合他们的spring项目并为其添加增强功能。所以底线是我们无法修改他们的代码。

1 个答案:

答案 0 :(得分:0)

我终于解决了这个问题。

我在我的pom文件中明确包含了以下内容。我印象中这将自动添加为Quartz使用的。

<dependency>
  <groupId>asm</groupId>
   <artifactId>asm</artifactId>
   <version>3.2</version>
</dependency>

还将Quartz配置移动到单独的xml文件中。