统统最代码的gravatar头像
统统最代码 2016-02-19 14:59:55

Spring与Quartz集成配置实现简单定时任务调度

一.代码结构图

Spring与Quartz集成配置实现简单定时任务调度

二.核心类

Job: 一个接口, 它里面只有一个方法void execute(),我们需要执行任务就需要实现这个接口,在execute中实现我们要做的事情。
JobDetail: 在Quartz每次执行Job时,都需要创建一个Job实例,所以它直接接受一个实现类以便运行时实例化,还需要一个描述信息,

JobDetail就是做这个事情。
Trigger: 是一个抽象类,描述触发执行的时间,它主要有SimpleTrigger和CronTrigger这两个子类,当仅需触发一次或者以固定时间间隔周期执行,SimpleTrigger是最适合的选择;而CronTrigger则可以通过Cron表达式定义出各种复杂时间规则的调度方案:如每早晨9:00执行,周一、周三、周五下午5:00执行等。
Scheduler: 可以认为是quartz的调度器,我们把JobDetail和Trigger注册到Scheduler,由它调度运行。

三.各部分代码截图

1.applicationContext.xml

Spring与Quartz集成配置实现简单定时任务调度

2.MyJob.java

Spring与Quartz集成配置实现简单定时任务调度

四.spring与quartz集成版本问题

  出现: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.将<bean name="myJobtTask" class="org.springframework.scheduling.quartz.JobDetailBean">改为:

<bean name="myJobtTask" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">

2.将<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">改为:

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

文件名:springQuartz.rar,文件大小:6997.86K 下载
  • /
      • /springQuartz
        • /springQuartz/.classpath
        • /springQuartz/.project
          • /springQuartz/.settings
            • /springQuartz/.settings/org.eclipse.jdt.core.prefs
          • /springQuartz/bin
            • /springQuartz/bin/applicationContext.xml
              • /springQuartz/bin/com
                  • /springQuartz/bin/com/zjt
                      • /springQuartz/bin/com/zjt/quartz
                        • /springQuartz/bin/com/zjt/quartz/MyJob.class
                        • /springQuartz/bin/com/zjt/quartz/Test.class
            • /springQuartz/bin/quartz.properties
          • /springQuartz/lib
            • /springQuartz/lib/commons-collections-3.2.1.jar
            • /springQuartz/lib/commons-logging-1.1.3.jar
            • /springQuartz/lib/jta-1.1.jar
最代码最近下载分享源代码列表最近下载
豪杰四起 3月9日
暂无贡献等级
qinshouzhi 2月23日
暂无贡献等级
niping 2月19日
暂无贡献等级
dandan19870620 2月19日
暂无贡献等级
cq950119 2月14日
暂无贡献等级
杨敖彪 1月9日
暂无贡献等级
chentao0220 2016年12月30日
暂无贡献等级
hqbaby 2016年12月27日
暂无贡献等级
unclesmile 2016年12月27日
暂无贡献等级
丁阳东 2016年12月26日
暂无贡献等级
最代码最近浏览分享源代码列表最近浏览
zxm0317 昨天
最代码贡献等级说明
zhangdp 前天
暂无贡献等级
暂无贡献等级
囍先生 3月20日
暂无贡献等级
houchangok 3月17日
暂无贡献等级
casoo003 3月16日
暂无贡献等级
udbnnh 3月15日
最代码贡献等级说明
jeremykim0320 3月14日
暂无贡献等级
wscf 3月14日
最代码贡献等级说明
luyuhui0209 3月12日
最代码贡献等级说明
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友