quartz之@Scheduled定时器的使用和详细介绍
@Scheduled(cron="0 0 14 * * ?") //每天14点定时统计
1.cron表达式格式:
{秒数} {分钟} {小时} {日期} {月份} {星期} {年份(可为空)}
2.cron表达式各占位符解释:
{秒数}{分钟} ==> 允许值范围: 0~59 ,不允许为空值,若值不合法,调度器将抛出SchedulerException异常
“*” 代表每隔1秒钟触发;
“,” 代表在指定的秒数触发,比如”0,15,45”代表0秒、15秒和45秒时触发任务
“-“代表在指定的范围内触发,比如”25-45”代表从25秒开始触发到45秒结束触发,每隔1秒触发1次
“/”代表触发步进(step),”/”前面的值代表初始值(““等同”0”),后面的值代表偏移量,比如”0/20”或者”/20”代表从0秒钟开始,每隔20秒钟触发1次,即0秒触发1次,20秒触发1次,
40秒触发1次;”5/20”代表5秒触发1次,25秒触发1次,45秒触发1次;”10-45/20”代表在[10,45]内步进20秒命中的时间点触发,即10秒触发1次,30秒触发1次
{小时} ==> 允许值范围: 0~23 ,不允许为空值,若值不合法,调度器将抛出SchedulerException异常,占位符和秒数一样
{日期} ==> 允许值范围: 1~31 ,不允许为空值,若值不合法,调度器将抛出SchedulerException异常
{星期} ==> 允许值范围: 1~7 (SUN-SAT),1代表星期天(一星期的第一天),以此类推,7代表星期六(一星期的最后一天),不允许为空值,若值不合法,调度器将抛出SchedulerException异常
{年份} ==> 允许值范围: 1970~2099 ,允许为空,若值不合法,调度器将抛出SchedulerException异常
注意:除了{日期}和{星期}可以使用”?”来实现互斥,表达无意义的信息之外,其他占位符都要具有具体的时间含义,且依赖关系为:年->月->日期(星期)->小时->分钟->秒数
3.cron表达式的强大魅力在于灵活的横向和纵向组合以及简单的语法,用cron表达式几乎可以写出任何你想要触发的时间点与周期
经典案例:
@Scheduled(cron="15 * * * * ?")
@Scheduled(cron="0-59/5 * * * * ?")
“0-59/5 * * * * ?” 0-59秒钟 里面的每5秒钟执行一次
“30 * * * * ?” 每半分钟触发任务
“30 10 * * * ?” 每小时的10分30秒触发任务
“30 10 1 * * ?” 每天1点10分30秒触发任务
“30 10 1 20 * ?” 每月20号1点10分30秒触发任务
“30 10 1 20 10 ? *” 每年10月20号1点10分30秒触发任务
“30 10 1 20 10 ? 2011” 2011年10月20号1点10分30秒触发任务
“30 10 1 ? 10 * 2011” 2011年10月每天1点10分30秒触发任务
“30 10 1 ? 10 SUN 2011” 2011年10月每周日1点10分30秒触发任务
“15,30,45 * * * * ?” 每15秒,30秒,45秒时触发任务
“15-45 * * * * ?” 15到45秒内,每秒都触发任务
“15/5 * * * * ?” 每分钟的每15秒开始触发,每隔5秒触发一次
“15-30/5 * * * * ?” 每分钟的15秒到30秒之间开始触发,每隔5秒触发一次
“0 0/3 * * * ?” 每小时的第0分0秒开始,每三分钟触发一次
“0 15 10 ? * MON-FRI” 星期一到星期五的10点15分0秒触发任务
“0 15 10 L * ?” 每个月最后一天的10点15分0秒触发任务
“0 15 10 LW * ?” 每个月最后一个工作日的10点15分0秒触发任务
“0 15 10 ? * 5L” 每个月最后一个星期四的10点15分0秒触发任务
“0 15 10 ? * 5#3” 每个月第三周的星期四的10点15分0秒触发任务
0 0/30 * * * ? 每半个小时执行一次
quartz之@Scheduled定时器的使用和详细介绍相关推荐
- 一篇文章看懂@Scheduled定时器/@Async/CompletableFuture
一篇文章看懂@Scheduled定时器/@Async/CompletableFuture @Scheduled注解解析: 1.cron:最重要的一个参数 cron表达式[秒] [分] [小时] [日] ...
- Java中使用@Scheduled定时器操作
在Java中使用@Scheduled定时器的几种种操作方式. 1.fixedRate 例:@Scheduled(fixedRate = 5000) //上一次开始执行时间点之后5秒再执行 2.fixe ...
- Oracle11g服务详细介绍及哪些服务是必须开启的?
Oracle11g服务详细介绍及哪些服务是必须开启的? Oracle ORCL VSS Writer Service Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Se ...
- OpenGL开发库的详细介绍
OpenGL开发库的组成 开发基于OpenGL的应用程序,必须先了解OpenGL的库函数.它采用C语言风格,提供大量的函数来进行图形的处理和显示.OpenGL库函数的命名方式非常有规律.所有OpenG ...
- IPv6下DHCPv6协议(RFC3315)详细介绍
DHCPv6 详细介绍 前言 一.基础部分 二.DHCPv6的进阶 1.相关术语/概念(Term) 2.几个相关的算法/规则 3.Message交换过程详述 4.基础的几个option介绍(RFC33 ...
- 一篇文章详细介绍什么是回调地狱
回调地狱: 网上很多关于回调地狱的图片,听起来很深奥,其实简单来说就是回调函数的嵌套,那么,什么是回调函数呢? 回调函数: 把一个函数当作参数传递,传递的是函数的定义并不会立即执行,而是在将来特定的时 ...
- ION-DTN-前向纠错编码ECLSA详细介绍
ION-DTN是NASA提出的针对DTN网络架构的具体实现方案.旨在解决深空通信的高延时.高误码.频繁中断等链路问题. ION中目前依靠LTP协议进行中断的重传处理.但在深空这种长延时环境中,重传所耗 ...
- 规则引擎Drools详细介绍
规则引擎Drools详细介绍 一. 规则引擎概述 1.1 什么是规则引擎 1.2 使用规则引擎的优势 1.3 规则引擎应用场景 1.4 Drools介绍 二. Drools使用与说明 2.1 Droo ...
- Posix API 与 网络协议栈 详细介绍
Posix API 与 网络协议栈 前言 Posix API 有哪些 socket bind 三次握手 建立连接的过程 connect listen accept 数据传输 发送与接收 send &a ...
- 超声波模块详细介绍(stm32循迹小车中超声波的介绍)
超声波模块详细介绍(stm32循迹小车中超声波的介绍) 超声波模块是非常重要的一个模块,今天给大家全面介绍一下超声波模块的原理以及用法,代码的编写. 1 超声波模块的认识 首先,市面上的常见超声波模块 ...
最新文章
- puppet-dashboard 安装(草稿)
- ymodem协议c语言,STC单片机ISP-Demo-使用Y-Modem协议源码与库函数分享
- 全志A33-修改linux kernel启动参数
- 基础功能4-画loss
- C++ opengl 天空盒的创建
- 感恩节(美食火鸡大餐)PNG免扣素材 总有一款你用得上
- mysql 分区表 限制_Mysql分区表使用的一些限制和需要注意的地方-阿里云开发者社区...
- Java经典设计模式(2):七大结构型模式(附实例和详解)
- fiddler4使用教程
- java算法关灯,关灯游戏的算法 js实现
- Modbus转Profinet网关连接英威腾变频器方法
- 关于vivo手机调试安装“解析程序包时出现问题”的解决方案
- html caption属性的值,HTML中的caption属性是什么意思?caption标签在HTML中
- 预应力内力计算时作用机理(纠结好久的问题orz)
- 登录注册,文件增删查改实现
- 程序员应该有的一些好习惯!
- OpenCV更改图片颜色
- java软件国际化解决方案
- 2、测试面试题总结整理
- Android,提供视频开发测试地址(视频下载和视频播放所用)
热门文章
- Ubuntu 14.04 系统安装后无法上网的问题(eth0识别不出)
- 关闭Linux 内存地址随机化机制
- linux kernel x86 32/64 memory zones
- 记录一次.net 4.7.2安装失败解决情况
- bootstrap设计登录页面_微服务和VUE(2) 搭建前端登录界面
- 串口之COMMTIMEOUTS结构体
- 学生成绩管理系统源码
- 软件获取手机的ime权限_【干货】解锁VIP会员权限,两款手机必备剪辑软件,免登陆,1080P输出无压力!...
- 网络通信数据传输原理
- 警告!不要购买安桥Htx22hdx直到你读这