Spring Boot 中使用 Quartz 实现任务调度
Quartz 概述 Quartz 是 OpenSymphony 开源组织在 Job Scheduling 领域又一个开源项目,它可以与 J2EE、 J2SE 应用程序相结合也可以单独使用。 Quartz 可以用来创建简单或为运行十个,百个,甚至是好几万个 Jobs 这样复杂的程序。Jobs 可以做成标准的 Java 组件或 EJBs。 Quartz 使用场景 Quartz 是一个任务调度框架。比如你遇到这样的问题: 每天 01:00 发送一份工作邮件给工作组成员并抄送给老板(假装自己很努力的工作到深夜) 每月 2 号提醒自己还信用卡或自动还款 每秒钟发 N 笔脏数据给竞争对手公司的服务器 ...... 这些问题总结起来就是:在某一个有规律的时间点干某件事。并且时间的触发的条件可以非常复杂,复杂到需要一个专门的框架来干这个事。 Quartz 就是来干这样的事,你给它一个触发条件的定义,它负责到了时间点,触发相应的 Job 起来干活。 cron 表达式 cron 是 Linux 系统用来设置计划任务的,比如:每天晚上 12 点重启服务器。 一个 cron 表达式具体表现就是一个字符串,这个字符串中包含 6~7 个字段,字段之间是由空格分割的,每个字段可以由任何允许的值以及允许的特殊字符所构成,下面表格列出了每个字段所允许的值和特殊字符。 字段 允许值 允许的特殊字符 秒 0-59 ,