首页 / 操作系统 / Linux / Spring-3.2.4 + Quartz-2.2.0集成实例
Spring3.0不支持Quartz2.0,因为org.quartz.CronTrigger在2.0从class变成了一个interface造成IncompatibleClassChangeError错误:Caused by: java.lang.IncompatibleClassChangeError: class org.springframework.scheduling.quartz.CronTriggerBean has interface org.quartz.CronTrigger as super class今天刚下载了Spring3.2.4,发现这个新版本已经支持quartz2.x了.以前的Spring版本只支持Quartz-1.8.x及以前的版本,做个小实例分享一下.注:Spring3.2.4配置文件中使用CronTriggerFactoryBean来集成quartz2.x,使用CronTriggerBean来集成quartz1.8.x及以前版本.Spring-3.2.4 + Quartz-2.2.0集成实例代码下载地址:免费下载地址在 http://linux.linuxidc.com/用户名与密码都是www.linuxidc.com具体下载目录在 /2013年资料/10月/17日/Spring-3.2.4 + Quartz-2.2.0集成实例下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm代码结构及引用jar见下图:applicationContext.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:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <!-- 启动触发器的配置开始 -->
<bean name="startQuertz" lazy-init="false" autowire="no"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="myJobTrigger" />
</list>
</property>
</bean>
<!-- 启动触发器的配置结束 --> <!-- 调度的配置开始 -->
<!--
quartz-1.8以前的配置
<bean id="myJobTrigger"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="myJobDetail" />
</property>
<property name="cronExpression">
<value>0/1 * * * * ?</value>
</property>
</bean>
-->
<!-- quartz-2.x的配置 -->
<bean id="myJobTrigger"
class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<ref bean="myJobDetail" />
</property>
<property name="cronExpression">
<value>0/1 * * * * ?</value>
</property>
</bean>
<!-- 调度的配置结束 --> <!-- job的配置开始 -->
<bean id="myJobDetail"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="myJob" />
</property>
<property name="targetMethod">
<value>work</value>
</property>
</bean>
<!-- job的配置结束 --> <!-- 工作的bean -->
<bean id="myJob" class="com.tgb.lk.demo.quartz.MyJob" /></beans>更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2013-10/91524p2.htm推荐阅读:Spring集成Quartz定时任务框架介绍和Cron表达式详解 http://www.linuxidc.com/Linux/2013-03/81947.htmSpring整合Quartz http://www.linuxidc.com/Linux/2012-12/75284.htmSpring的Quartz定时器同一时刻重复执行二次的问题解决 http://www.linuxidc.com/Linux/2012-11/73443.htmSpring 定时器Quartz的用法 http://www.linuxidc.com/Linux/2012-11/73442.htmSpring联姻Quartz实现作业调度 http://www.linuxidc.com/Linux/2012-08/69215.htm