统统最代码的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
最代码最近下载分享源代码列表最近下载
zhangcongyi6月24日
暂无贡献等级
dongwu6月24日
暂无贡献等级
mumuQAQ6月23日
暂无贡献等级
lhfjpx6月5日
暂无贡献等级
captkang5月8日
暂无贡献等级
chenhuan15月6日
暂无贡献等级
失空斩4月17日
暂无贡献等级
豪杰四起3月9日
暂无贡献等级
qinshouzhi2月23日
暂无贡献等级
niping2月19日
暂无贡献等级
最代码最近浏览分享源代码列表最近浏览
larenmark24分钟前
最代码贡献等级说明
暂无贡献等级
曹轩abc前天
暂无贡献等级
527826533前天
暂无贡献等级
王思峰前天
暂无贡献等级
zhangcongyi6月24日
暂无贡献等级
dongwu6月24日
暂无贡献等级
敬哆哆6月23日
暂无贡献等级
mumuQAQ6月23日
暂无贡献等级
oxx20086月22日
暂无贡献等级
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友