Api说明

  1. fixedDelay
    上一次执行完毕时间点之后多长时间再执行。如:
@Scheduled(fixedDelay = 5000) //上一次执行完毕时间点之后5秒再执行
  1. fixedRate
    上一次开始执行时间点之后多长时间再执行。如:
@Scheduled(fixedRate = 5000) //上一次开始执行时间点之后5秒再执行
  1. initialDelay
    第一次延迟多长时间后再执行。如:
@Scheduled(initialDelay=1000, fixedRate=5000) //第一次延迟1秒后执行,
之后按fixedRate的规则每5秒执行一次
  1. cron
    该参数接收一个cron表达式,cron表达式是一个字符串,字符串以5或6个空格隔开,分开共6或7个域,每一个域代表一个含义。
    cron在线生成器
    https://www.bejson.com/othertools/cron/

具体应用

package com.beiyou.Schedule;import cn.hutool.core.date.DateUtil;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;@Slf4j
@Component
public class ScheduledDemo {//每五秒执行一次@Scheduled(fixedRate = 5000)public void fixedRate(){log.info("fixedRate开始执行时间{},线程名字 {}", DateUtil.now(),Thread.currentThread().getName());ThreadUtil.safeSleep(8000);log.info("fixedRate结束执行时间{},线程名字 {}", DateUtil.now(),Thread.currentThread().getName());}//上次执行完成之后5秒再执行@Scheduled(fixedDelay = 5000)public void fixedDelay(){log.info("fixedDelay开始执行时间{},线程名字 {}", DateUtil.now(),Thread.currentThread().getName());ThreadUtil.safeSleep(8000);log.info("fixedDelay结束执行时间{},线程名字 {}", DateUtil.now(),Thread.currentThread().getName());}//第一次执行的时候延迟initalDelay秒,然后每次完成之后,fixedDeLay在执行@Scheduled(initialDelay = 2000,fixedDelay = 3000)public void initialDelay(){log.info("initialDelay开始执行时间{},线程名字 {}", DateUtil.now(),Thread.currentThread().getName());ThreadUtil.safeSleep(8000);log.info("initialDelay结束执行时间{},线程名字 {}", DateUtil.now(),Thread.currentThread().getName());}//通过core表达式执行任务@Scheduled(cron = "0/5 * * * * ?")public void cron(){log.info(" cron开始执行时间{},线程名字 {}", DateUtil.now(),Thread.currentThread().getName());ThreadUtil.safeSleep(8000);log.info(" cron结束执行时间{},线程名字 {}", DateUtil.now(),Thread.currentThread().getName());}
}

启动类加入@EnableScheduling

package com.beiyou;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;@SpringBootApplication
@EnableScheduling
public class App {public static void main(String[] args) {SpringApplication.run(App.class, args);}
}

Spring Boot 定时任务 Scheduled(1. fixedDelay 2. fixedRate 3. initialDelay 4. cron Scheduled)相关推荐

  1. @Scheduled中fixedDelay、fixedRate、initialDelay 和cron表达式的解析及区别

    一. 在线Cron表达式生成器 http://cron.qqe2.com/ 二.介绍 cronExpression定义时间规则,Cron表达式由6或7个空格分隔的时间字段组成:秒 分钟 小时 日期 月 ...

  2. @Scheduled中fixedDelay、fixedRate、initialDelay

    @Scheduled注解可以控制方法定时执行,其中有三个参数可选择: 1.fixedDelay控制方法执行的间隔时间,是以上一次方法执行完开始算起,如上一次方法执行阻塞住了,那么直到上一次执行完,并间 ...

  3. @scheduled注解配置时间_Java开发重写Spring Boot定时任务,支持可动态调整执行时间...

    Spring Boot应该是目前最火的java开源框架了,它简化了我们创建一个web服务的过程,让我们可以在很短时间.基本零配置就可以启动一个web服务. 定时任务在我们平常的业务开发用的非常多,Sp ...

  4. Spring Boot定时任务应用实践

    在Spring Boot中实现定时任务功能,可以通过Spring自带的定时任务调度,也可以通过集成经典开源组件Quartz实现任务调度. 一.Spring定时器 1.cron表达式方式 使用自带的定时 ...

  5. 14. Spring Boot定时任务的使用【从零开始学Spring Boot】

    [视频 & 交流平台] à SpringBoot视频 http://study.163.com/course/introduction.htm?courseId=1004329008& ...

  6. Spring Boot定时任务-@Scheduled的使用

    SpringBoot对于定时任务的支持,其实我们在开发过程当中,定时任务的技术使用,还是比较多的,比如说我系统当中,要求在一个特定的时间,给用户发送一些信息,或者我的系统要求在一个特定的时间,对于Re ...

  7. Spring Boot 定时任务

    2019独角兽企业重金招聘Python工程师标准>>> 本文主要介绍了Spring Boot中使用@Scheduled创建定时任务.我们在编写Spring Boot应用中经常会遇到这 ...

  8. Spring Boot定时任务-Job类对象注入

    如何在我们的任务类当中,去完成其他对象的注入,Job类中注入对象,回到我们的代码当中,这个是我们编写的Job类,比如我们在Job类当中呢,我要使用到我业务下某个类的某个方法,那我们是不是要将我们业务层 ...

  9. Spring Boot定时任务-SpringBoot整合Quartz

    如何通过SpringBoot整合Quartz框架,我们首先去创建一个项目,接下来我们需要在pom文件里添加坐标,我们在使用SpringBoot整合Quartz的时候,需要添加哪些坐标呢,我们来看一下, ...

最新文章

  1. sift计算描述子代码详解_SIFT解析(三)生成特征描述子
  2. java bean 验证_Java Bean验证基础
  3. Intellij IDEA自定义类注释模板
  4. 开课吧Java课堂:如何使用isAlive()和join()
  5. UDT中的epoll
  6. Gallery 3D+倒影 滑动切换图片示例
  7. 清除新版Google Chrome浏览器中表单控件(input,button...)默认的黑色边框
  8. 小米总监说软件测试分为这及类
  9. 2016MDCC移动开发者大会参后感
  10. 二叉树与哈希表以及基本算法
  11. java培训包装简历模板
  12. GD32F303课程【3】中断控制器和外部中断
  13. 软著名称有什么要求?软件著作权的软件名称怎么起要注意什么?软件著作权的软件名称可以重复吗?
  14. 01.MySQL数据库初识
  15. SRC赏金平台汇总介绍
  16. 【软剑攻城队】用户需求分析文档发布!
  17. 绅士福利:Python秒爬取全网美女写真
  18. SpringBoot如何整合Redis?SpringBoot如何使用Redis?Redies基本使用。
  19. 五星好文·射频功率放大器(RF PA)概述
  20. 华三H3CTE最新考题下载

热门文章

  1. windows11备忘录便签快捷键:你需要知道的有关它的一切
  2. css概述、选择器以及样式属性
  3. python+execjs爬取网易云评论
  4. 在Linux上运行C语言
  5. 黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三)
  6. 杨辉三角linux程序,LINUX c试题
  7. 网上商城多级目录展示
  8. 身份证工具类各式各样的操作
  9. springBoot项目在Linux中快速启动
  10. 【玩转SQLite系列】(一)初识SQLite,重拾sql语句