统统最代码的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
最代码最近下载分享源代码列表最近下载
1358849392  LV18 2022年11月23日
1069250108  LV9 2020年5月26日
才貌双泉  LV5 2020年3月23日
1320716747  LV5 2020年1月4日
longyin2018  LV14 2019年11月26日
xiaozhanglibai  LV10 2019年6月15日
迷途小骚年  LV4 2019年2月15日
451134668  LV1 2019年1月8日
浦开顺  LV11 2018年12月15日
15817213218  LV11 2018年8月9日
最代码最近浏览分享源代码列表最近浏览
1358849392  LV18 2022年11月23日
1529860026  LV24 2022年10月13日
liangliang1001  LV2 2022年7月7日
364502984  LV18 2022年6月2日
cz8857216  LV4 2022年5月9日
npc也有忧伤  LV3 2022年3月20日
yhyyy1234  LV1 2022年1月5日
氼乚-----------  LV5 2021年12月11日
gaojian0612  LV2 2021年11月23日
阿风啦  LV14 2021年9月29日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友