基于Quartz的定时任务及crond表达式入门学习
时间:2022-07-28
本文章向大家介绍基于Quartz的定时任务及crond表达式入门学习,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
[TOC]
0x00 前言
0x01 基础语法
Java中Quartz Cron表达式(Cron Expressions—Cron 表达式
)被用来配置CronTrigger实例,需要注意一点它不同于Linux中Cron表达式,我们从下面的格式可以看出区别;
Cron表达式是一个由7个子表达式组成的字符串, 每个子表达式都描述了一个单独的日程细节并且采用空格分隔;
#Linux crond
分钟 小时 天 月 周 Command
* * * * * 命令执行
#Quartz Cron
* * * * * * ?
秒(0~59)
分钟(0~59)
小时(0~23)
天(月)(0~31,但是你需要考虑你月的天数)
月(0~11)
天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)
年份(1970-2099)
PS:从上面的比对中可以看出Quartz的Cron表达式比Linux中的Cron表达式更为强大和精细;
特殊字符含义:
, : 其表示一个列表如(9,10,11,12)
- : 其表示一个连续的区间如(9-12) , 例如:子表达式(天(星期))可以为 “MON-FRI”,“MON,WED,FRI”,“MON-WED,SAT” ;
* : 其表示一个通配符即 “*”字符代表所有可能的值
/ : 其表示一个指定数值的增量,如一个间隔时间(8-18/4)(/表示每隔4小时),在子表达式(分钟)里的“0/15”表示从第0分钟开始,每15分钟 ;
? : 其字符仅被用于天(月)和天(星期)两个子表达式,表示不指定值, 当2个子表达式其中之一被指定了值以后,为了避免冲突,需要将另一个子表达式的值设为“?”
L : 字符仅被用于天(月-最后一天)和天(星期-最后一周)两个子表达式,它是单词“last”的缩写, 但是它在两个子表达式里的含义是不同的。 例如:“6L”表示这个月的倒数第6天,FRIL表示这个月的最一个星期五;
基础示例:
#示例1.每天上午10点,下午14点,16点触发执行
0 0 10,14,16 * * ?
#示例2.朝九晚五工作时间内每半小时
0 0/30 9-17 * * ?
#示例3.由于"月份中的日期 天(月)"和"星期中的日期-天(星期)"这两个元素互斥的,必须要对其中一个设置?.
0 0 12 ? * WED #表示每个星期三中午12点
注意事项:
- 1.在使用“L”参数时,不要指定列表或范围,因为这会导致问题
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 白盒测试工具 - sonar的安装、配置与使用入门手册,用sonar检查代码质量实战演示
- Chmod -R 777 / 误操作恢复教程
- 最全总结 | 聊聊 Python 数据处理全家桶(Redis篇)
- 虚拟机安装mikrotik-ROS
- 搬砖武士|手把手教你在容器服务 TKE 上使用 LB直通 Pod
- linux安装snmp服务-ubuntu
- 企业微信机器人
- Kubernetes 新玩法:在 YAML 中编程
- 全网最实用 Python 面试题大全(花费了整整 3 天时间整理出来的)
- paramiko模块
- Loki 和 Fluentd 的那点事儿
- Hive改表结构的两个坑|避坑指南
- 随机爬取网易云音乐评论
- 零散的MySQL基础总是记不住?看这一篇就够了!
- Hive SQL使用过程中的奇怪现象|避坑指南