温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Spring配置Quartz出现的问题(版本)问题

发布时间:2020-06-28 04:10:26 来源:网络 阅读:1136 作者:guyuexuan2012 栏目:开发技术

使用Spring配置管理Quartz的时候会遇到下面的异常:

Caused by: java.lang.IncompatibleClassChangeError: class org.springframework.scheduling.quartz.CronTriggerBean has interface org.quartz.CronTrigger as super class

原因是Spring 3.2版本中内置的Quartz版本与Quartz包2.2中的接口不兼容。

解决办法:CronTriggerBean 替换成 CronTriggerFactoryBean。

配置如下:

<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">  

      <property name="triggers">  

          <list>  

             <ref bean="billTrigger"/>  

          </list>  

      </property>  

      <property name="autoStartup" value="true"/>  

</bean>


<bean id="billTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">  

      <property name="jobDetail" ref="billJobDetail"/>  

      <property name="cronExpression" value="59/1 * * * * ?"/>

</bean>  

<!-- 每隔1秒钟触发一次   -->

<bean id="billJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">   

       <property name="targetObject" ref="billJob"/>  

       <property name="targetMethod" value="execute"/>  

       <property name="concurrent" value="false"/>

</bean> <!-- 是否允许任务并发执行。当值为false时,表示必须等到前一个线程处理完毕后才再启一个新的线程   -->

<bean id="billJob" class="cn.com.infinitus.moa.application.job.DownloadBillJob"/> 



向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI