Spring集成Quartz定时任务的一些问题

1. Spring用Quartz做定时任务 抛异常 SchedulerException: Jobs added with no trigger must be durable.

     在jobDeatailsBean 中加一句
<property name="durability" value="true" />
     即可


2. scheduling.quartz.CronTriggerBean has interface org.quartz.CronTrigger as super class

quartz版本号:2.1.7

错误:

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. Caused by: java.lang.IncompatibleClassChangeError: class org.springframework.scheduling.quartz.CronTriggerBean has interface org.quartz.CronTrigger as super class  
  2.     at java.lang.ClassLoader.defineClass1(Native Method)  
  3.     at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)  
  4.     at java.lang.ClassLoader.defineClass(ClassLoader.java:615)  
  5.     at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)  
  6.     at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2854)  
  7.     at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1159)  
  8.     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647)  
  9.     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)  
  10.     at org.springframework.util.ClassUtils.forName(ClassUtils.java:260)  
  11.     at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:416)  
  12.     at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1290)  
  13.     at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1261)  

解决:

将CronTriggerBean修改为CronTriggerFactoryBean。如:

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. <bean id="CronTriggerBean" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">  
  2.         <property name="jobDetail" ref="myjob"/>  
  3.         <property name="cronExpression" value="0/2 * * * * ?"/>  
  4.     </bean>  

注意:

由于Quartz 2.x修改了部分API,所以需要修改一下Quartz的配置。大体来说很简单,如下:

1)升级Spring的jar包

2)升级Quartz的jar包

3)修改配置

  • 将CronTriggerBean修改为CronTriggerFactoryBean
  • 将JobDetailBean修改为JobDetailFactoryBean
 































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值