Skip to main content

基于Quartz封装的定时任务

定时任务不须多言,几乎是每个项目必备功能,而原生的quartz用起来着实有点哆嗦,市面上也有不少依赖spring的定时任务组件,因为笔者本人已经完全抛弃spring(笔者还抛弃了servlet),所以自己动手对quartz进行了简单封装,使其更容易开发和维护!

编写pom.xml

<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-jobs</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.t-io</groupId>
<artifactId>tio-core</artifactId>
<version>3.2.4.v20181218-RELEASE</version>
</dependency>

创建任务类

package demo.timetask;

import org.quartz.JobExecutionContext;
import org.tio.utils.quartz.AbstractJobWithLog;

/**
*
* @author tanyw
*
*/
public class DemoTask extends AbstractJobWithLog {

/**
* 生成博客网站地址
*/
@Override
public void run(JobExecutionContext context) throws Exception {
System.out.println(context);
}

}

创建配置文件

在src/main/resources/config目录下创建tio-quartz.properties文件,内容如下:

#每10秒执行一次
demo.timetask.DemoTask = 0/10 * * * * ?

在主程序中启动定时任务

public static void main(String[] args) throws Exception {
//你的其它启动代码
//启动配置在config/tio-quartz.properties的所有定时任务
QuartzUtils.start();
}

哇哦,是不是超级简单?