@Schedul注解的定时任务详解

1、springboot集成schedule
由于Spring Schedule包含在spring-boot-starter基础模块中了,所有不需要增加额外的依赖。

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

@Scheduled(cron = “0/20 ?”)//每20秒执行一次
public void scheduler(){
DateFormat df=new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
System.out.println(“执行时间:”+df.format(new Date()));
}

常用的cron表达式:

每隔5秒执行一次:/5 ?
每隔10分钟执行一次:0 
/10 ?
每天23点执行一次:0 0 23 
?
每天凌晨1点执行一次:0 0 1 
?
每月1号凌晨1点执行一次:0 0 1 1 
?
每月最后一天23点执行一次:0 0 23 L ?
每周星期天凌晨1点实行一次:0 0 1 ? 
L
在26分、29分、33分执行一次:0 26,29,33 ?
每天的0点、13点、18点、21点都执行一次:0 0 0,13,18,21 
* ?
cron一般是6个部分或是7个部分:如下所示:

      1. Seconds (秒)
      2. Minutes (分)
      3. Hours (时)
      4. Day-of-Month (天)
      5. Month (月)
      6. Day-of-Week (周)
      7. Year (年 可选字段)
        cron规则如下:

        Seconds (秒) :可以用数字0-59 表示;
        Minutes(分) :可以用数字0-59 表示;
        Hours(时) :可以用数字0-23表示;
        Day-of-Month(天) :可以用数字1-31 中的任一一个值,但要注意一些特别的月份2月份没有只能1-28,有些月份没有31;
        Month(月) :可以用0-11 或用字符串 “JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV and DEC” 表示;
        Day-of-Week(每周)可以用数字1-7表示(1 = 星期日)或用字符口串“SUN, MON, TUE, WED, THU, FRI and SAT”表示;
        “/”:为特别单位,表示为“每”如“0/10”表示每隔10分钟执行一次,“0”表示为从“0”分开始, “3/20”表示表示每隔20分钟执行一次,“3”表示从第3分钟开始执行;
        “?”:表示每月的某一天,或第周的某一天;
        “L”:用于每月,或每周,表示为每月的最后一天,或每个月的最后星期几如“6L”表示“每月的最后一个星期五”;
        “W”:表示为最近工作日,如“15W”放在每月(day-of-month)字段上表示为“到本月15日最近的工作日”;
        “#”:是用来指定“的”每月第n个工作日,例 在每周(day-of-week)这个字段中内容为”6#3” or “FRI#3” 则表示“每月第三个星期五”;
        “*” 代表整个时间段。

转载自:https://www.jianshu.com/p/c6f0f37fde31
参考网站:https://mp.weixin.qq.com/s?__biz=MzA4ODIyMzEwMg==&mid=2447532888&idx=1&sn=bb2944d69a0b1085e32197482f63c3e9&chksm=843bbf49b34c365fd65bf6b57348f3380e2805fb88b234fe09992158e0ede38bc71950236d8d&scene=21#wechat_redirect
springboot参考网址:https://cloud.tencent.com/developer/article/1149550

cron 生成器地址:http://cron.qqe2.com/
Cron官网:https://en.wikipedia.org/wiki/Cron

@Schedul 中cron的命名规则的更多相关文章

  1. [Python3] 002 Python3 中常用的命名规则

    目录 1. 什么可以用来命名? 1.1 老三样: 字母.数字.下划线 1.2 其他 2. 什么不能用来命名? Python3 中的"关键字" 3. 命名"小贴士" ...

  2. Java标识符中常见的命名规则

    标识符:就是给类,接口,方法,变量等起名字.组成规则:A:英文字母大小写B:数字字符C:$和_注意事项:A:不能以数字开头B:不能使Java中的关键字C:Java语言严格区分大小写常见的命名规则:见名 ...

  3. JAVA基础篇NO2--Java中的基本命名规则及数据类型

    1.Java中的常量及进制 1.常量: 在程序运行的过程中,不可以改变的量,就是常量 boolean类型的值只能是true或者false null: 空常量, 代表不存在! ------------- ...

  4. HTML文档中class的命名规则以及命名规范

    1.采用英文字母.数字以及“-”和“_”命名. 2.以小写字母开头,不能以数字和“-”.“_”开头. 3.命名形式:单字,连字符,下划线和驼峰. 4.使用有意义命名. 其中(3).(4)条规定主要是便 ...

  5. yii中modules的命名规则

    如上图,views下面的文件夹名全小写(否则会出现找不到相应视图的错误),Module文件名称第一个单词首字母大写. 总之,按照上面的格式就不会有错了~

  6. PHP 中各种命名规则的总结

    一般约定而言 类.函数和变量的名字应该是能够让代码阅读者能够容易地知道这些代码的作用,应该避免使用凌磨两可的命名. 以下是在开发过程中常见的命名规则总结 1.类的命名 使用大写字母作为词的分割,其余的 ...

  7. Java的书写格式,标识符及命名规则,注释

    Java的书写格式,标识符及命名规则,注释 1.Java语言的书写格式(约定成俗) 1) 大括号要对齐(左大括号与句尾对其,后面大括号与句头对齐),并且成对写 2) 左大括号前面有空格 3) 遇到左大 ...

  8. windows编程命名规则

    转自:http://blog.sina.com.cn/s/blog_52cbfc3f0100fdy6.html 匈牙利命名法是一种编程时的命名规范.基本原则是:变量名=属性+类型+对象描述.其中每一对 ...

  9. JPA命名规则

    jpa中方法的命名规则必须按照严格的要求来写.不能随便的命名方法名字,具体的方法操作如下. 参照方法地址:https://blog.csdn.net/csdnchen666666/article/de ...

随机推荐

  1. C标准库pow函数精度问题。

    #include <stdio.h> int main () { int temp,i; double a=2.4568; unsigned ]; ;i<;i++) { temp=( ...

  2. D01-R语言基础学习

    R语言基础学习——D01 20190410内容纲要: 1.R的下载与安装 2.R包的安装与使用方法 (1)查看已安装的包 (2)查看是否安装过包 (3)安装包 (4)更新包 3.结果的重用 4.R处理 ...

  3. JFrame、JPanel 、Layout开发的简单例子

    写了Java这么久,居然发现想手写一个带网格袋布局的JFrame,还不记得怎么写,写了这么多代码真不敢说记得所有细节. 幸好,只要记清楚概念就能快速开发.首先,明确一下3种容器类的差别和用途: No. ...

  4. vue项目在IE9下报错 “requestAnimationFrame”未定义

    在main.js里面添加: (function () { var lastTime = 0; var vendors = ['ms', 'moz', 'webkit', 'o']; for (var ...

  5. WebDriver高级应用实例(6)

    6.1精确比较网页截图图片 目的:对于核心界面进行截屏,并且使用测试过程中的截图和以前测试过程中的截图进行比较.确认页面是否发生了改变 被测网页的网址: http://www.baidu.com Ja ...

  6. Nginx 简易教程

    Nginx 本项目是一个 Nginx 极简教程,目的在于帮助新手快速入门 Nginx. demos 目录中的示例模拟了工作中的一些常用实战场景,并且都可以通过脚本一键式启动,让您可以快速看到演示效果. ...

  7. 写一个MySql存储过程实现房贷等额本息还款计算(另外附javascript代码)

    写一个MySql存储过程实现房贷等额本息还款计算 MySql存储过程代码如下: DROP procedure IF EXISTS `calc_equal_interest_proc`; DELIMIT ...

  8. web工程迁移---jboss5迁移到jboss6

    这几天在做web工程的迁移,从jboss 5迁移到jboss 6.3. 在做迁移的过程中遇到了一些问题,在这里记录一下. 首先来看一下jboss5和jboss6.3的区别:          上面两幅 ...

  9. Mac 下配置 Python 开发环境

    ➜ ~ sudo brew install python3 ==> Downloading https://www.python.org/ftp/python/3.5.1/Python-3.5. ...

  10. java+selenium+maven+testng框架(一)安装搭建

    1.安装jdk(注意:需配置环境变量,可自行百度方法); 2.安装eclipse; 3.安装maven(注意:需配置环境变量,可自行百度方法); 4.在eclipse中新建maven项目 新建成功 注 ...