最代码广告位
统统最代码的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
最代码最近下载分享源代码列表最近下载
失空斩4月17日
暂无贡献等级
豪杰四起3月9日
暂无贡献等级
qinshouzhi2月23日
暂无贡献等级
niping2月19日
暂无贡献等级
暂无贡献等级
cq9501192月14日
暂无贡献等级
杨敖彪1月9日
暂无贡献等级
chentao02202016年12月30日
暂无贡献等级
hqbaby2016年12月27日
暂无贡献等级
unclesmile2016年12月27日
暂无贡献等级
最代码最近浏览分享源代码列表最近浏览
空谷凝音4月30日
暂无贡献等级
谷凤宇4月28日
暂无贡献等级
zhouxinming4月28日
暂无贡献等级
more4月26日
暂无贡献等级
土豆哥4月26日
暂无贡献等级
707113012xxy4月24日
暂无贡献等级
lzjlzj434月24日
暂无贡献等级
mween4134月21日
最代码贡献等级说明
林夕梦4月19日
暂无贡献等级
miaoshi4月19日
最代码贡献等级说明
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友