zoukankan      html  css  js  c++  java
  • Springboot定时任务

    1、在定时任务的类上加注解@EnableScheduling 【开启定时任务】

    2、在执行方法上加注解@Scheduled【定时】

    3、定时类型:

    @Scheduled(fixedRate = 5000) : 表示 每隔 5000 毫秒执行一次
    public void reportCurrentTime() {
        System.out.println("每隔五秒钟执行一次: " + dateFormat.format(new Date()));
    }
    @Scheduled(cron = "0 30 11 ? * *")  : 表示 在指定时间执行
    public void fixTimeExecution() {
        System.out.println("在指定时间 " + dateFormat.format(new Date()) + "执行");
    }

    @Scheduled注解可以控制方法定时执行,其中有三个参数可选择:

    1、fixedDelay控制方法执行的间隔时间,是以上一次方法执行完开始算起,如上一次方法执行阻塞住了,那么直到上一次执行完,并间隔给定的时间后,执行下一次。

    2、fixedRate是按照一定的速率执行,是从上一次方法执行开始的时间算起,如果上一次方法阻塞住了,下一次也是不会执行,但是在阻塞这段时间内累计应该执行的次数,当不再阻塞时,一下子把这些全部执行掉,而后再按照固定速率继续执行。

    3、cron表达式可以定制化执行任务,但是执行的方式是与fixedDelay相近的,也是会按照上一次方法结束时间开始算起

    参数说明:

    * 第一位,表示秒,取值 0-59
    * 第二位,表示分,取值 0-59
    * 第三位,表示小时,取值 0-23
    * 第四位,日期,取值 1-31
    * 第五位,月份,取值 1-12
    * 第六位,星期几,取值 1-7
    * 第七位,年份,可以留空,取值 1970-2099
    
    (*) 星号:可以理解为“每”的意思,每秒、没分
    (?) 问好:只能出现在日期和星期这两个位置,表示这个位置的值不确定
    (-) 表达一个范围,如在小时字段中使用 10-12 ,表示从10点到12点
    (,) 逗号,表达一个列表值,如在星期字段中使用 1,2,4 ,则表示星期一、星期二、星期四
    (/) 斜杠,如 x/y ,x是开始值,y是步长,如在第一位(秒)使用 0/15,表示从0秒开始,每15秒
    
    官方解释:
    0 0 3 * * ?         每天 3 点执行
    0 5 3 * * ?         每天 3 点 5 分执行
    0 5 3 ? * *         每天 3 点 5 分执行
    0 5/10 3 * * ?      每天 3 点 5 分,15 分,25 分,35 分,45 分,55 分这几个点执行
    0 10 3 ? * 1        每周星期天的 3 点10 分执行,注:1 表示星期天
    0 10 3 ? * 1#3      每个月的第三个星期的星期天 执行,#号只能出现在星期的位置
    
    注:第六位(星期几)中的数字可能表达不太正确,可以使用英文缩写来表示,如:Sun
    

      

  • 相关阅读:
    MyBatis入门学习教程-优化MyBatis配置文件中的配置
    MyBatis入门学习教程-使用MyBatis对表执行CRUD操作
    MyBatis入门学习教程-MyBatis快速入门
    Apache Shiro 简单概念
    将 Shiro 作为应用的权限基础
    在 Web 项目中应用 Apache Shiro
    Shiro简单配置
    Shiro权限框架简单快速入门
    解决错误: Failed to load class "org.slf4j.impl.StaticLoggerBinder"
    解决Shiro注解无效的问题
  • 原文地址:https://www.cnblogs.com/yuhuiqing/p/11646138.html
Copyright © 2011-2022 走看看