909422229_三种常用定时器之Spring中Quartz定时器

时间:2022-05-15 05:26:22

即使一小步,我都愿意与你分享。有问题可以在联系方式专栏进行联系我,点击即可跟我交流。用到的软件都可以进行分享。 这次由于CSDN无法上传2M以上的,所以有所缺少。完整版本可以联系我。

一、spring封装quartz

 这是遇到最多的一个定时器。。spring版本不同、缺包、注意点挺多的,需要细心去完成。下面会将问题与事例公布,另外也会将本次事例用到的jar公开,免得遇到相同问题。


    二、spring结合quartz的demo事例

第一个问题:

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

[java] view plain copy print?
  1. Caused by: java.lang.IncompatibleClassChangeError: class org.springframework.scheduling.quartz.CronTriggerBean has interface org.quartz.CronTrigger as super class  

原因是Spring 3.0版本中内置的Quartz版本是<2.0的,在使用最新的Quartz包(>2.0)之后,接口不兼容。

解决办法有两种:

1.降低Quartz版本,降到1.X去。

2.升级Spring版本到3.1+,根据Spring的建议,将原来的**TriggerBean替换成**TriggerFactoryBean,例如CronTriggerBean 就可以替换

第二个问题:

      在图中已经说明了,配置文件cronExpression 属性报错,这是因为spring与quartz包的不兼容导致。

解决办法:

     将quartz的版本降低,提高spring的版本。而且在运行时候会报缺少spring的tx包。进行下载添加即可。

909422229_三种常用定时器之Spring中Quartz定时器