2 acejokerzj acejokerzj 于 2016.09.23 16:57 提问

关于使用spring配置quartz定时任务报错的提问

各位大神好,我参考http://kevin19900306.iteye.com/blog/1397744这篇文章,想在spring中配置定时任务,我的jar包版本quartz2.1.7和spring3.2.9
配置文件如下:<!-- 定义目标bean和bean中的方法 -->

class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">




execute

<bean id="CronTriggerBean" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
    <property name="jobDetail" ref="SpringQtzJobMethod"></property>
    <property name="cronExpression" value="0/5 * * * * ?"></property>
</bean>


<bean id="SpringJobSchedulerFactoryBean"
    class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <property name="triggers">
        <list>
            <ref bean="CronTriggerBean" />
        </list>
    </property>
</bean>

但是tomcat启动报错:
严重: Context initialization failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'airportController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.cares.service.UserService com.cares.controller.BaseController.userService; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'SpringQtzJobMethod' defined in class path resource [springmvc-servlet.xml]: Instantiation of bean failed; nested exception is java.lang.ExceptionInInitializerError
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:289)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1146)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:633)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:651)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:602)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:665)
at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:521)
at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:462)
at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)
at javax.servlet.GenericServlet.init(GenericServlet.java:158)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1282)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1195)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1085)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5349)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5641)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1092)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1984)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.cares.service.UserService com.cares.controller.BaseController.userService; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'SpringQtzJobMethod' defined in class path resource [springmvc-servlet.xml]: Instantiation of bean failed; nested exception is java.lang.ExceptionInInitializerError
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:517)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:286)
... 33 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'SpringQtzJobMethod' defined in class path resource [springmvc-servlet.xml]: Instantiation of bean failed; nested exception is java.lang.ExceptionInInitializerError
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1037)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:983)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getSingletonFactoryBeanForTypeCheck(AbstractAutowireCapableBeanFactory.java:807)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryBean(AbstractAutowireCapableBeanFactory.java:737)
at org.springframework.beans.factory.support.AbstractBeanFactory.isTypeMatch(AbstractBeanFactory.java:529)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:359)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:335)
at org.springframework.beans.factory.BeanFactoryUtils.beanNamesForTypeIncludingAncestors(BeanFactoryUtils.java:187)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:902)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:860)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:775)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:489)
... 35 more
Caused by: java.lang.ExceptionInInitializerError
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:148)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1030)
... 46 more
Caused by: java.lang.IllegalStateException: Incompatible Quartz API: java.lang.ClassNotFoundException: org.quartz.JobExecutionContext
at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean.(MethodInvokingJobDetailFactoryBean.java:101)
... 53 more
请大神帮忙看看,万谢

1个回答

dabocaiqq
dabocaiqq   2016.09.24 23:44
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Spring配置Quartz定时任务
最近在做一个系统,要求每天定时地执行相关代码来计算一些数据存到数据库。在实际线上系统中,免不了要定时地执行一些任务,比如每天凌晨生成前天报表,每小时生成一次汇总数据等等。Quartz是出了名的任务调度框架,它可以与J2SE和J2EE应用程序相结合,功能非常强大,轻轻松松就能与Spring集成,使用方便。这里简单总结一下Spring的定时任务配置。主要有三个核心概念:调度器、任务和触发器。三者关系简单
spring下使用Quartz完成定时任务
springMVC框架下经常会用到定时任务来进行项目初始化或者定时执行一些任务,这是可以使用Quartz来完成,强大而简单,项目中第一次试着使用,目前可以独立使用,但其中的原理还有待于慢慢总结,把使用过程写下来,权当总结了,也为需要使用的同学提供个参考 第一步,需要在pom.xml文件中引入Quartz,格式如下 org.quartz-scheduler quartz 2.2.1
Spring配置Quartz实现定时调度任务
一 Quartz 一个开源的作业调度框架,配置执行定时任务 二 配置 1 依赖 dependency> groupId>org.quartz-schedulergroupId> artifactId>quartzartifactId> version>2.2.3version> dependency> dependency> groupId>
鸟哥的程序员提问的艺术
[轉貼] 提問的智慧 Copyright (C) 2001 by Eric S. Raymond 中文版 Copyleft 2001 by D.H.Grand(nOBODY/Ginux) 英文版:http://www.tuxedo.org/~esr/faqs/smart-questions.html 感謝 Eric 的耐心指點和同意,本文才得以完成並發佈, 本指南 英文版版
Spring的监听器和org.quartz.Job的使用
JavaWeb工程中配置监听器在项目启动时就执行的监听器,使用ServletContextListener监听类的书写自定义的listener需要实现ServletContextListener 接口package com.glite.listener; import javax.servlet.ServletContextEvent; import javax.servlet.ServletCon
关于产品设计中的几个问题
第一个,安全性。这个是最基本的要求,但是很多设计代码的人会写正确的功能。这个在开始的时候感觉进度很快,但从较长时间来看,后续的测试和优化将会花费更多时间,这个大概可以叫做业绩驱动开发吧,因为市场很着急,老板很着急。不安全的设计会造成最差的客户体验,在工业领域将更严重,要么损坏作业对象,要么损坏机器,更恐怖的是伤害到人。 第二个,性能。有一些产品可以工作在恶劣的环境,代替人的工作。但是由于速度慢,
论坛提问的技巧
原作者:舒马赫 在论坛中,当提出一个问题时,你能得到怎样的回答?这取决于挖出答案的难度,同样取决于你提问的方法。 首先你应该明白,尽管大侠们有蔑视简单问题和不友善的坏名声,有时看起来似乎他们对新手,对知识贫乏者怀有敌意,但事实上并不是这样的。 他们不想掩饰一种鄙视——某些人不愿思考,或者在发问前不去完成他们应该做的事。这种人只会谋杀时间,他们只愿索取,从不付出,无端消耗大家的时间,而人们本可以把时
Spring+Quartz实现定时任务配置方法
Quartz是一个完全由java编写的开源作业调度框架。不要让作业调度这个术语吓着你。尽管Quartz框架整合了许多额外功能, 但就其简易形式看,你会发现它易用得简直让人受不了!。简单地创建一个实现org.quartz.Job接口的java类。Job接口包含唯一的方法: public void execute(JobExecutionContext context) throws Jo
定时任务-在spring中配置quartz
使用的版本Spring4.04+Quartz2.2.3,关于jar包自行下载。 详细需要以下几个步骤来完成: 1.  定义要执行的Job类 2.  定义quartz的配置文件applicationContext-quartz.xml     2.1 定义要调用的对象和对象的方法     2.2 在触发器中配置使用该方法的时间     2.3 在总管类中添加该任务
关于读书的几个问题
读书,并不是穷酸秀才秀穷秀酸的时候才出来卖弄于人的。笛卡儿说:“读一切好书,就是和许多高尚的人谈话。”读书中的愉悦和享受,体现在精神、境界上的享受和在慎思方面的提升,自不是网络冲浪中能够获得的。“书中自有黄金屋,书中自有颜如玉”也道出了读书中我们渴望求得的功名与利禄。如今已经不像古时那般可读之书太少,但如今读书的风气却不振,原因在于很多人在受教育的过程中完全为了考试而读书,结果是非考不学,非教不读