SpringMVC 集成 Quartz 框架 完成动态定时任务
前言
随着需求的多样化,我们在制作一些项目的时候会对一些任务进行定时执行的操作(例如,定时获取实时新闻、天气、疫情趋势…),为了更加灵活的对任务进行操作,这时候我们就需要引用到其他框架的配合,此文章主要介绍 Quartz 框架的使用和对任务的操作做简单介绍。
详情查看:https://www.w3cschool.cn/quartz_doc/quartz_doc-2put2clm.html
一、前期准备
1.设计数据库
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for sys_cron
-- ----------------------------
DROP TABLE IF EXISTS `sys_cron`;
CREATE TABLE `sys_cron` (
`cron_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'id',
`cron_class` varchar(255) DEFAULT NULL COMMENT '类名',
`cron` varchar(255) DEFAULT NULL COMMENT 'cron表达式',
`cron_param` varchar(255) DEFAULT NULL COMMENT '参数',
`cron_remark` varchar(255) DEFAULT NULL COMMENT '描述',
`cron_status` varchar(255) DEFAULT NULL COMMENT '启停标识(1:表示启用)',
PRIMARY KEY (`cron_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2.导入依赖
<!-- 导入Quartz -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.3.2</version>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-jobs</artifactId>
<version>2.3.2</version>
</dependency>
3.所需实体类
public class SysCron implements Serializable {
/**
* id
*/
private String cronId;
/**
* 类名
*/
private String cronClass;
/**
* cron表达式
*/
private String cron;
/**
* 参数
*/
private String cronParam;
/**
* 描述
*/
private String cronRemark;
/**
* 启停标识(1:表示启用)
*/
private String cronStatus;
public SysCron(){
}
public SysCron(String cronId, String cronClass, String cron) {
this.cronId = cronId;
this.cronClass