博主
258
258
258
258
专辑

第七节 任务调度框架quartz定时器的使用

亮子 2023-10-15 06:19:15 4651 0 0 0

1、quartz简介

Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,完全由Java开发,可以用来执行定时任务,类似于java.util.Timer。但是相较于Timer, Quartz增加了很多功能:

  • 持久性作业 - 就是保持调度定时的状态;
  • 作业管理 - 对调度作业进行有效的管理;

官方文档:
https://www.quartz-scheduler.org/documentation/
https://www.quartz-scheduler.org/api/2.3.0/index.html

图片alt

2、基础使用

Quartz 的核心类有以下三部分:

任务 Job : 需要实现的任务类,实现 execute() 方法,执行后完成任务。
触发器 Trigger : 包括 SimpleTrigger 和 CronTrigger。
调度器 Scheduler : 任务调度器,负责基于 Trigger触发器,来执行 Job任务。

主要关系如下:

图片alt

3、引入附件中的xml并修改

  • 拷贝springQuartz.xml文件

图片alt

  • 修改springQuartz.xml文件

图片alt

  • 相关代码
package com.shenmazong.zg2.quartz;

import com.alibaba.fastjson.JSON;
import lombok.extern.slf4j.Slf4j;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.logging.SimpleFormatter;

/**
 * @author 军哥
 * @version 1.0
 * @description: Quartz 定时器的使用
 * @date 2023/10/15 14:23
 */

@Slf4j
public class SendMailQuartz {

    public void sendTest() {

        log.info("我是定时器,正在执行~~~~~~~~");
        Date date = new Date();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String s = format.format(date);

        System.out.println("我是定时器,正在执行~~~~~~~~" + s);
    }

}

4、修改spring.xml文件

图片alt

5、运行并执行

图片alt

6、配置文件总结

图片alt

参考文章