Spring的定时作业之Quartz

spring定时任务quartz

背景介绍

使用spring做项目,需要定时的完成一系列的任务动作处理,执行相应的代码逻辑,使用spring的Quartz组件可以完成定时任务的功能,作者强烈推荐使用Quartz 2.x版本。

原理如下:

Spring的定时作业之Quartz

一、环境介绍

IDE:eclipse

JDK:1.8

Maven:3.5

二、搭建步骤

1、使用eclipse新创建Maven项目:

Spring的定时作业之Quartz

2、选择项目存放路径

Spring的定时作业之Quartz

3、项目类型选择为Web类型

Spring的定时作业之Quartz

4、填写项目包信息

Spring的定时作业之Quartz

5、完成,编写代码

三、核心代码说明

1、首先编写WEB.XML文件的配置,填写对应bean文件的监听文件

Spring的定时作业之Quartz

2、编写对应的bean信息内容,也就是applicationContext.xml文件的内容

Spring的定时作业之Quartz

说明:

这里只截取了Quartz 2.x版本的配置,具体版本1.x的可以参见具体代码,代码可以在文章后面找到。

这里先添一个springframework的scheduling的定时任务触发器,默认这执行exampleJob2的触发器,然后添加exampleJob2的触发器exampleJob2trigger,具体的设定好任务名称及任务引用bean id,并配置定时器的出发周期,再次添加触发器执行的任务类,及类执行方法,这里采用属性值注入方法,最后添加执行exampleJob2的执行任务类bean的具体实现类。

3、Pom文件如下

Spring的定时作业之Quartz

主要是在springframework框架上增加了Quartz的Scheduler包,主类包quartz和quzrtz-jobs包。

4、exampleJob2的实现类如下

Spring的定时作业之Quartz

这里比较简单,不像Quartz 1.x版本样还需要继承于QuartzJobBean,重写对应的方法了。

四、测试运行

运行项目会看到定时任务的输出信息

2018-07-25 17:10:40执行ExampleJob2

2018-07-25 17:10:50执行ExampleJob2

2018-07-25 17:11:00执行ExampleJob2

2018-07-25 17:11:10执行ExampleJob2

2018-07-25 17:11:20执行ExampleJob2

五、代码地址

https://github.com/verylove/spring-notes/tree/master/spring-quartz


分享到:


相關文章: