1.定时器@Scheduled简介

@Scheduled注解可以用于做定时任务,再方法上加上@Scheduled注解,可以将这个方法定义为一个任务发放,可以搭配cron表达式进行任务的控制。
开启定时任务时在类上加注解 @EnableScheduling

2.cron表达式的用法

1.按顺序依次为
秒 分 时 天 月 周 年 表达式长度为6个或者7个
cron表达式是一个字符串,分为6或7个域,每两个域之间用空格分隔,其语法格式为:
“秒域 分域 时域 日域 月域 周域 年域”
其中,年域可以省略,省略时表示每年。
1 秒(0~59)
2 分钟(0~59)
3 小时(0~23)
4 天(0~31)
5 月(0~11)
6 星期(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)
7.年份(1970-2099)

2.一些符号的意义
(1)* 表示可以匹配该域的所有值;

例如,"0 0 13 * * ?"表示每天的13点执行一次。

(2)?在cron表达式中必须出现且只能出现1次,用在日域或周域上,表示不确定值、不限制值;

它与*的区别是,并不能匹配到该域上的所有值,例如指定了3月份每个周五,那么3月份的周五可能只有4个值;

例如,"0 0 5 6 * ?"表示每个月6日5点钟执行而无论周几,"0 0 5 ? * 3"表示每个周三5点钟执行而无论是几号。

(3)- 表示匹配该域上的一个范围;

例如,"0 30 9-15 ? * *"表示每天的9:30-15:30每小时执行一次,"0 1-5 * ? * 1"表示每周日每个小时的1-5分钟每分钟执行一次。

(4), 表示枚举值;

例如,"0 0 8,16,23 ? * 1,7"表示每个周六日的8点、16点、23点各执行一次。

(5)/ 表示起始时间和间隔时间;

例如,"0 0 3/5 * * ?"表示每天3点开始执行,每隔5个小时执行一次,即3点、8点、13点、18点、23点各执行一次,

"*/5 * * * * ?"表示每隔5秒钟执行一次,"0 */1 * * * ?"表示每隔1分钟执行一次。

(6)# 只能用于周域上,#后面的数字表示第几周,如果不存在这个周的值,则不执行;

例如,"0 0 0 ? * 5#2"表示每个月第2个周四零点执行,"15 30 6 ? * 7#5"表示每个月第5个周六6:30:15执行,如果某个月不存在第5个周六,则不执行。

(7)L 只能用于日域或周域,用于日域时表示当月最后一天,用于周域如果前面不加数字表示周六,加数字表示最后一个周值;

例如,"0 0 23 L * ?"表示每月最后一天的23点执行,"0 0 23 ? * L"表示每周六的23点执行,"0 0 23 ? * 3L"表示每月最后一个周二的23点执行。

3.一些常见实例

4.fixedDelay和fixedRate的使用


---------------------------------------------------------以毫秒为单位---------------------------------------------------------
@Scheduled(fixedDelay = 5000) //上一次任务执行完毕时间点之后5秒再执行
@Scheduled(fixedRate = 5000) //上一次任务开始执行时间点之后5秒再执行

Java定时器 @Scheduled注解的使用相关推荐

  1. 通过反射获取Spring定时器@Scheduled注解中fixedDelay时间

    前言: 如何获取Spring的定时器注解@Scheduled中的时间值(即获取3000):@Scheduled(fixedDelay = 3000) 注:定时器类:org.springframewor ...

  2. scheduled java_java使用@Scheduled注解执行定时任务

    前言 在写项目的时候经常需要特定的时间做一些特定的操作,尤其是游戏服务器,维护线程之类的,这时候就需要用到定时器. 如果此时你刚好用的是spring的话,哪么@scheduled注解是非常好用的. 使 ...

  3. java定时器注解加效验_Java中定时器的使用之二(springboot–@Scheduled注解)

    在日常开发中我们经常会遇到定时器的需求,这段时间通过查阅资料,也有些收获,因此准备在这里跟大家分享下. 上次讲了如何利用Timer和TimerTask类创建定时任务:本文主要讲的是,如何利用sprin ...

  4. java定时器任务中获取request对象 @Scheduled 获取request 对象 quartz中获取request对象

    java定时器任务中获取request对象 @Scheduled 获取request 对象 quartz中获取request对象 一.问题描述 1.在java定时任务中,使用 @Scheduled 注 ...

  5. java scheduled_怎么在java中利用@Scheduled注解执行定时任务

    怎么在java中利用@Scheduled注解执行定时任务 发布时间:2021-01-13 16:52:56 来源:亿速云 阅读:84 作者:Leah 本篇文章给大家分享的是有关怎么在java中利用@S ...

  6. java @Scheduled注解执行定时任务

    使用spring @Scheduled注解执行定时任务: @Scheduled(cron = "0 0 2 * * ?") //每天凌晨2点@RequestMapping(&quo ...

  7. Spring 的@Scheduled注解实现定时任务运行和调度

    Spring 的@Scheduled注解实现定时任务运行和调度 首先要配置我们的spring.xml   ---  即spring的主配置文件(有的项目中叫做applicationContext.xm ...

  8. @scheduled注解配置时间_探究 Spring 的定时任务配置

    作者 | 郭朝兴 责编 | Elle 最近在项目开发中进行了一些Spring定时任务的开发工作,在开发过程中对Spring定时任务的配置方式进行了一些研究,现在对各种配置方式进行一个总结.Schedu ...

  9. 使用spring @Scheduled注解执行定时任务

    在springMVC里使用spring的定时任务非常的简单,如下: (一)在xml里加入task的命名空间 xmlns 多加下面的内容 1 xmlns:task="http://www.sp ...

最新文章

  1. 基于结构光测量技术和3D物体识别技术开发的机器人3D视觉引导系统
  2. 即刻—你的私人消息定制
  3. redis/分布式文件存储系统/数据库 存储session,解决负载均衡集群中session不一致问题...
  4. Sqlserver数据库的恢复
  5. 【hadoop】有参考价值的博客整理
  6. 基于android的视频采集系统的设计与实现,基于Android的视频通话系统的设计与实现.docx...
  7. BufferedInputStream学习笔记
  8. ajax入门体会(转)
  9. 地表最强mysql命令行连接工具mycli
  10. 回调函数 线程_从0实现基于Linux socket聊天室-多线程服务器一个很隐晦的错误-2...
  11. 加州大学黑科技:激光使电子设备不再依赖半导体材料
  12. 企业认证CMMI都需要那些流程?
  13. ipython 安装
  14. SPSS进行问卷量表信度检验【SPSS 082期】
  15. DDD结合整洁架构落地实践
  16. 数据猿专访网智天元莫倩:人工智能不仅是泡沫,而且会越来越大
  17. 随笔---Beego中的routers包个人的理解
  18. 光纤跳线、尾纤、光纤连接器之间有什么区别
  19. Ubuntu18.04添加自启动脚本
  20. 第29节 防火墙部署实验(IP、策略、NAT、HA)——基于topgate防火墙的网页部署方法

热门文章

  1. 【新手向】Dev-c++5.11调试方法
  2. 怎么样保持工作的积极性
  3. layui导入功能实现(太特么难了,网上全是坑啊)
  4. 使用360安全卫士修复网络带来的坑
  5. 前后端分离的在线考试系统
  6. 在html中常用于定义求婚,关于求婚的英文句子中英双译
  7. 挑战程序设计竞赛(第二章习题总结)
  8. 由小米10拆机引发联想——硬件工程师与维修工程师的区别
  9. torchvision
  10. 再一篇相当中肯的文字