最近公司新项目需要用到定时器,于是研究了一下发现:

Spring中使用Quartz有两种方式实现:

第一种是任务类继承QuartzJobBean

第二种则是在配置文件里定义任务类和要执行的方法,类和方法仍然是普通类。

很显然,第二种方式远比第一种方式来的灵活。

jar依赖

如果是maven项目

<!-- Spring-Quartz实现定时任务调度 -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>1.8.5</version>
</dependency>

非maven项目,下面是所需要的jar包

quartz-1.8.5.jar
commons-logging.jar
spring-core-3.0.5.RELEASE.jar
spring-beans-3.0.5.RELEASE.jar
spring-context-3.0.5.RELEASE.jar
spring-context-support-3.0.5.RELEASE.jar
spring-asm-3.0.5.RELEASE.jar
spring-expression-3.0.5.RELEASE.jar
spring.transaction-3.0.5.RELEASE.jar
spring-web-3.0.5.RELEASE.jar

第一种任务类继承QuartzJobBean

二种方式远比第一种方式来的灵活。

1.定义java类继承QuartzJobBean

 1 package com.zhihuishu.qa.quartz;
2
3 import org.quartz.JobExecutionContext;
4 import org.quartz.JobExecutionException;
5 import org.springframework.scheduling.quartz.QuartzJobBean;
6
7 public class SpringQtz extends QuartzJobBean {
8
9 /**
10 * 要调度的具体任务
11 */
12 @Override
13 protected void executeInternal(JobExecutionContext context)
14 throws JobExecutionException {
15 System.out.println("继承QuartzJobBean定时任务执行中…");
16 }
17
18 }

2.定义spring配置文件 beans-quartz.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
2 <beans xmlns="http://www.springframework.org/schema/beans"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
4 xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
5 xsi:schemaLocation="http://www.springframework.org/schema/beans
6 http://www.springframework.org/schema/beans/spring-beans.xsd
7 http://www.springframework.org/schema/context
8 http://www.springframework.org/schema/context/spring-context.xsd
9 http://www.springframework.org/schema/aop
10 http://www.springframework.org/schema/aop/spring-aop.xsd
11 http://www.springframework.org/schema/tx
12 http://www.springframework.org/schema/tx/spring-tx.xsd">
13
14 <!-- spring配置文件中配置作业类JobDetailBean -->
15 <bean name="springQtz" class="org.springframework.scheduling.quartz.JobDetailBean">
16 <property name="jobClass" value="com.zhihuishu.qa.quartz.SpringQtz" />
17 <property name="jobDataAsMap">
18 <map>
19 <entry key="timeout" value="0" />
20 </map>
21 </property>
22 </bean>
23
24
25
26 <!-- 配置作业调度的触发方式(触发器) -->
27
28 <!-- 每隔多少时间执行一次 -->
29 <bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
30 <property name="jobDetail" ref="springQtz" />
31 <property name="startDelay" value="0" /> <!-- 调度工厂实例化后,经过0秒开始执行调度 -->
32 <property name="repeatInterval" value="2000" /><!-- 每2秒调度一次 -->
33 </bean>
34
35 <!-- 某个时间点执行一次 -->
36 <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
37 <property name="jobDetail" ref="springQtz" />
38 <!-- 每天12:00运行一次 -->
39 <property name="cronExpression" value="0 0 19 * * ? *" />
40 </bean>
41
42 <!-- 配置调度工厂 -->
43
44 <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
45 <property name="triggers">
46 <list>
47 <ref bean="simpleTrigger" />
48 </list>
49 </property>
50 </bean>
51
52 </beans>

SpringQuartz 时间配置,使用在线Cron表达式生成器
http://cron.qqe2.com/

执行结果:

aaarticlea/png;base64,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" alt="" />

第二种在配置文件里定义任务类和要执行的方法,类和方法仍然是普通类。

第二种方式远比第一种方式来的灵活。

1.定义java普通类

 1 package com.zhihuishu.qa.quartz;
2
3 public class SpringQtz2 {
4
5 /**
6 * 要调度的具体任务 (方法名任意)
7 */
8 protected void executeTask(){
9 System.out.println("普通类定时任务执行中…");
10 }
11
12 }

2.定义spring配置文件 beans-quartz2.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
2 <beans xmlns="http://www.springframework.org/schema/beans"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
4 xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
5 xsi:schemaLocation="http://www.springframework.org/schema/beans
6 http://www.springframework.org/schema/beans/spring-beans.xsd
7 http://www.springframework.org/schema/context
8 http://www.springframework.org/schema/context/spring-context.xsd
9 http://www.springframework.org/schema/aop
10 http://www.springframework.org/schema/aop/spring-aop.xsd
11 http://www.springframework.org/schema/tx
12 http://www.springframework.org/schema/tx/spring-tx.xsd">
13
14 <!-- 定义目标bean和bean中的方法 -->
15 <bean id="SpringQtzBean" class="com.zhihuishu.qa.quartz.SpringQtz2" />
16 <!-- 方式二:使用MethodInvokingJobDetailFactoryBean,任务类可以不实现Job接口,通过targetMethod指定调用方法 -->
17 <bean id="SpringQtzJobMethod"
18 class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
19 <property name="targetObject">
20 <ref bean="SpringQtzBean" />
21 </property>
22 <property name="targetMethod"> <!-- 要执行的方法名称 -->
23 <value>executeTask</value>
24 </property>
25 </bean>
26
27 <!-- 配置作业调度的触发方式(触发器) -->
28
29 <!-- 每隔多少时间执行一次 -->
30 <bean id="simpleTrigger2" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
31 <property name="jobDetail" ref="SpringQtzJobMethod" />
32 <property name="startDelay" value="0" /> <!-- 调度工厂实例化后,经过0秒开始执行调度 -->
33 <property name="repeatInterval" value="2000" /><!-- 每2秒调度一次 -->
34 </bean>
35
36 <!-- 某个时间点执行一次 -->
37 <bean id="cronTrigger2" class="org.springframework.scheduling.quartz.CronTriggerBean">
38 <property name="jobDetail" ref="SpringQtzJobMethod" />
39 <!-- 每天12:00运行一次 -->
40 <property name="cronExpression" value="0 0 19 * * ? *" />
41 </bean>
42
43 <!-- 配置调度工厂 -->
44 <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
45 <property name="triggers">
46 <list>
47 <ref bean="simpleTrigger2" />
48 </list>
49 </property>
50 </bean>
51
52 </beans>

SpringQuartz 时间配置,使用在线Cron表达式生成器
http://cron.qqe2.com/

执行结果:

aaarticlea/png;base64,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" alt="" />

参考资料来源:http://blog.csdn.net/u013314786/article/details/51331554

SpringQuartz 实现定时任务调度的更多相关文章

  1. spring timetask 定时任务调度

    作者:Garry1115 定时任务调度即在设置的特定时间执行特定的任务,不需要人工干预. spring timertask spring 自身所带定时任务类,不需要引入第三方jar包,使用方式如下: ...

  2. quartz 定时任务调度管理器

    本项目使用的是spring-quartz 以下配置可以开启多个已知定时任务 <?xml version="1.0" encoding="UTF-8"?&g ...

  3. #研发中间件介绍#定时任务调度与管理JobCenter

    郑昀 最后更新于2014/11/11 关键词:定时任务.调度.监控报警.Job.crontab.Java 本文档适用人员:研发员工   没有JobCenter时我们要面对的:   电商业务链条很长,业 ...

  4. Java定时任务调度详解

    前言 在实际项目开发中,除了Web应用.SOA服务外,还有一类不可缺少的,那就是定时任务调度.定时任务的场景可以说非常广泛,比如某些视频网站,购买会员后,每天会给会员送成长值,每月会给会员送一些电影券 ...

  5. Spring4.0.1+Quartz2.2.1实现定时任务调度[亲测可用]

    Spring4.0.1+Quartz2.2.1实现定时任务调度[亲测可用] tip:只需要配置xml文件即可 1.第三方依赖包的引入 <properties> <project.bu ...

  6. 开源一个定时任务调度器 webscheduler

    在企业应用中定时任务调度的需求是必不可少的,比如定时同步数据,定时结转数据,定时检测异常等等.公司之前是在使用一款采用.net 开发的windows服务形式的定时程序,基本能满足需求,在一段时间的时候 ...

  7. 一文揭秘定时任务调度框架quartz

    之前写过quartz或者引用过quartz的一些文章,有很多人给我发消息问quartz的相关问题, quartz 报错:java.lang.classNotFoundException quartz源 ...

  8. linux定时任务调度定系统——opencron

    linux定时任务调度定系统——opencron https://gitee.com/terrytan/opencron/#%E8%BF%90%E8%A1%8C%E7%8E%AF%E5%A2%83 一 ...

  9. python中的轻量级定时任务调度库:schedule

    提到定时任务调度的时候,相信很多人会想到芹菜celery,要么就写个脚本塞到crontab中.不过,一个小的定时脚本,要用celery的话太“重”了.所以,我找到了一个轻量级的定时任务调度的库:sch ...

随机推荐

  1. 【转】CPU与内存的那些事

    下面是网上看到的一些关于内存和CPU方面的一些很不错的文章. 整理如下: 转: CPU的等待有多久? 原文标题:What Your Computer Does While You Wait 原文地址: ...

  2. 【UML 建模】类图介绍

    1.类图是面向对象系统建模中最常用和最重要的图,是定义其它图的基础.类图主要是用来显示系统中的类.接口以及它们之间的静态结构和关系的一种静态模型. 2.类的关系有泛化(Generalization). ...

  3. windows平台安装并使用MongoDB

    下载并安装MongoDB,我的安装路径:D:\Program_Files\MongoDB 创建数据库目录,我的目录:D:\mongodb\data\db 命令行下运行MongoDB服务器: 在命令行窗 ...

  4. Handshakes

    Description Last week, n students participated in the annual programming contest of Marjar Universit ...

  5. C. New Year and Rating

    C. New Year and Rating time limit per test 2 seconds memory limit per test 256 megabytes input stand ...

  6. 搭建Maven私服那点事

    摘要:本文主要介绍在CentOS7.1下使用nexus3.6.0搭建maven私服,以及maven私服的使用(将自己的Maven项目指定到私服地址.将第三方项目jar上传到私服供其他项目组使用) 一. ...

  7. AngularJS学习篇(十一)

    AngularJS 表格 ng-repeat 指令可以完美的显示表格. <!DOCTYPE html> <html> <head> <meta charset ...

  8. C# 取Visio模型信息的简易方法

    最近的一个项目,要求导出Visio图纸,因为是建筑类的,所以,需要设置墙壁,门,房间等信息的参数. 拿墙壁为例,选中墙壁模型,右键属性,会弹出以下对话框. 需要设置墙长.墙壁厚度等一些列信息. 现在C ...

  9. C#中一些默认的预定义属性

    C#中一些默认的预定义属性,见下表: 预定义的属性 有效目标 说明 AttributeUsage Class 指定另一个属性类的有效使用方式 CLSCompliant 全部 指出程序元素是否与CLS兼 ...

  10. Celery 源码解析五: 远程控制管理

    今天要聊的话题可能被大家关注得不过,但是对于 Celery 来说确实很有用的功能,曾经我在工作中遇到这类情况,就是我们将所有的任务都放在同一个队列里面,然后有一天突然某个同学的代码写得不对,导致大量的 ...