该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

开发工具与关键技术:IDEA/Java

作者:小朋

撰写时间:2021年2月7日

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

在项目中,有一些功能要定时清理或定时执行,那就要用到定时任务。

废话不多说,上代码。

1)开启定时任务注解驱动2)在定时任务类的指定方法上加上@Scheduled开启定时任务3)定时任务表达式:使用cron属性来配置定时任务执行时间

开启定时任务注解驱动

添加applicationContext-timer.xml配置文件,并开启定时任务注解驱动,代码如下:

定时任务方法配置

/***** 每30秒执行一次*/@Scheduled(cron = "0/30 * * * *?") public void loadGoodsPushRedis(){System.out.println("task demo");}

创建SeckillGoodsPushTask类,并在类中加上定时任务执行方法,代码如下:

定时任务常用时间表达式

CronTrigger配置完整格式为: [秒][分] [小时][日] [月][周] [年]

序号 说明 是否必填 允许填写的值 允许的通配符

1 秒 是 0-59 , - * /

2 分 是 0-59 , - * /

3 小时 是 0-23 , - * /

4 日 是 1-31 , - * ? / L W

5 月 是 1-12或JAN-DEC , - * /

6 周 是 1-7或SUN-SAT , - * ? / L W

7 年 否 empty 或1970-2099 , - * /

通配符说明:

*表示所有值.例如:在分的字段上设置 "*",表示每一分钟都会触发。

? 表示不指定值。使用的场景为不需要关心当前设置这个字段的值。

例如:要在每月的10号触发一个操作,但不关心是周几,所以需要周位置的那个字段设置为"?"具体设置为 00 0 10 * ?

- 表示区间。例如 在小时上设置 "10-12",表示 10,11,12点都会触发。

, 表示指定多个值,例如在周字段上设置 "MON,WED,FRI" 表示周一,周三和周五触发

/ 用于递增触发。如在秒上面设置"5/15"表示从5秒开始,每增15秒触发(5,20,35,50)。 在月字段上设置'1/3'所示每月1号开始,每隔三天触发一次。

L表示最后的意思。在日字段设置上,表示当月的最后一天(依据当前月份,如果是二月还会依据是否是润年[leap]), 在周字段上表示星期六,相当于"7"或"SAT"。如果在"L"前加上数字,则表示该数据的最后一个。例如在周字段上设置"6L"这样 的格式,则表示“本月最后一个星期五"

W 表示离指定日期的最近那个工作日(周一至周五).例如在日字段上设置"15W",表示离每月15号最近的那个工作日触发。如果15号正好是周六,则找最近的周五(14号)触发,如果15号是周未,则找最近的下周一(16号)触发.如果15号正好在工作日(周一至周五),则就在该天触发。如果指定格式为 "1W",它则表示每月1号往后最近的工作日触发。如果1号正是周六,则将在3号下周一触发。(注,"W"前只能设置具体的数字,不允许区间"-").

# 序号(表示每月的第几个周几),例如在周字段上设置"6#3"表示在每月的第三个周六.注意如果指定"#5",正好第五周没有周六,则不会触发该配置(用在母亲节和父亲节再合适不过了);

常用例子:

0 0 10,14,16 * * ? 每天上午10点,下午2点,4点

0 0/30 9-17 * * ? 朝九晚五工作时间内每半小时

0 0 12 ? * WED 表示每个星期三中午12点

"0 0 12 * * ?" 每天中午12点触发

"0 15 10 ? * *" 每天上午10:15触发

"0 15 10 * * ?" 每天上午10:15触发

"0 15 10 * * ? *" 每天上午10:15触发

"0 15 10 * * ? 2005" 2005年的每天上午10:15触发

"0 * 14 * * ?" 在每天下午2点到下午2:59期间的每1分钟触发

"0 0/5 14 * * ?" 在每天下午2点到下午2:55期间的每5分钟触发

"0 0/5 14,18 * * ?" 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发

"0 0-5 14 * * ?" 在每天下午2点到下午2:05期间的每1分钟触发

"010,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44触发

"0 1510 ? * MON-FRI" 周一至周五的上午10:15触发

"0 1510 15 * ?" 每月15日上午10:15触发

"0 1510 L * ?" 每月最后一日的上午10:15触发

"0 1510 ? * 6L" 每月的最后一个星期五上午10:15触发

"0 1510 ? * 6L 2002-2005" 2002年至2005年的每月的最后一个星期五上午10:15触发

"0 15 10 ? * 6#3" 每月的第三个星期五上午10:15触发

java 定时为每月10号_Java定时任务配置(Scheduled注解)相关推荐

  1. python定时任务每月1号_Python 定时任务框架 APScheduler 详解

    APScheduler 最近想写个任务调度程序,于是研究了下 Python 中的任务调度工具,比较有名的是:Celery,RQ,APScheduler. Celery:非常强大的分布式任务调度框架 R ...

  2. 【春秋云境.com】每月10号1024会员日,双倍体验惊喜不停

    在计算机语言中,1024是个一个很神奇而又美妙的数字,1024Byte(字节)=1KB,1024 KB=1MB,1024 MB=1GB,象征着数字世界中无数微光集聚,照亮了网络世界前进的方向! 202 ...

  3. spring定时任务(@Scheduled注解)

    (一)在xml里加入task的命名空间 xmlns:task="http://www.springframework.org/schema/task" http://www.spr ...

  4. java定时任务_java:springBoot使用@Scheduled注解配置定时任务

    定时任务的实现有多种,其中一种就是使用Spring提供的注解: @Schedule . 下面举个简单的例子 1.先在springboot的入口处添加@EnableScheduling这个注解 2.总开 ...

  5. java实现获取手机设备号_Java 安卓获得获得手机设备信息

    1)android 获取设备型号.OS版本号: import android.os.Build; // ..... Build bd = new Build(); String model = bd. ...

  6. Java虚拟机如何设置环境变量_Java虚拟机配置环境变量的方法

    Java虚拟机是一款功能强大的虚拟机,是抽象的计算机,是Java语言底层实现的基础,Java语言在不同平台运行不需要重新编译.Java虚拟机(JVM)是Java Virtual Machine的缩写, ...

  7. 手机备忘录每个月的10号定时提醒怎么设置

    很多手机备忘录都支持提醒功能,但如果要说提醒功能比较好用的备忘录工具,可使用云便签.它不仅可以在安卓.鸿蒙和iOS等不同系统的手机端同步添加定时提醒,还能对记录的备忘录内容设置开启每月指定日期和指定时 ...

  8. 支付宝花呗还款日怎么从每9号调整支付宝花呗还款日为每月15号或每月20号还款?

    支付宝花呗还款日怎么从每9号调整支付宝花呗还款日为每月15号或每月20号还款? 1.打开支付宝,在底部点击[我的]: 2.在支付宝我的里找到花呗,并点击进入: 3.在支付宝花呗的右上角找到[设置]并点 ...

  9. java 定时任务每月1号发送excel邮件

    java 定时任务每月1号发送excel邮件 1.生成excel 数据流 public ByteArrayInputStream exportxls(){String preDate = " ...

  10. linux cron记录时间,crontab每分钟,5,10分钟,每小时,每天零点,每周日0点,每月1号0点,每年1月1日执行脚本,linux shell定时任务...

    crontab每分钟,5,10分钟,每小时,每天零点,每周日0点,每月1号0点,每年1月1日执行脚本,linux shell定时任务 在linux系统里做维护和开发时, 经常会遇到要用crontabl ...

最新文章

  1. sscanf实用功能简介
  2. 阿里某员工:发完年终奖后就离职,工作让我心力交瘁
  3. 用JSON和Javscript的prototype来构建完善的Javascript面向对象表示法
  4. html5简单游戏案例,HTML5存储(带一个粗糙的打怪小游戏案例)
  5. PowerSocket对象与HostName
  6. 心酸血泪前端路,不断成长任我行,零碎知识点笔记(vue踩坑日记)
  7. PRD之道:活用Axure绘制高质量的业务流程图
  8. python自带的库有哪些_吐血整理!140种Python标准库、第三方库和外部工具都有了...
  9. Python批量下载XKCD漫画只需20行命令!
  10. 迅捷PDF编辑器怎么编辑修改PDF文件?
  11. 计算机solidwork实训报告,solid works学习心得范文
  12. iptables --algo 字符串匹配算法 bm kmp
  13. Android:安卓实现高考倒计时功能
  14. java 打开网页并运行脚本_各种浏览器开启JavaScript脚本方法
  15. Table ‘数据库.数据库表‘ doesn‘t exist
  16. 实现在线预览PDF的几种解决方案
  17. self和init的用法
  18. 人工智能发展文献检索报告
  19. WIN10远程协助无法控制的解决方法
  20. [Vue仿网易云音乐实战]炎炎夏日——放首自己喜欢的歌

热门文章

  1. 在vue2项目中使用腾讯云IM及常见问题
  2. mysql io 优化_mysql 中io优化
  3. 一款PC版罗盘圆形时钟桌面屏保V1.0
  4. c语言求圆锥的表面积和体积_c语言问题,输入圆锥的半径和高,得出表面积和体积。请问程序该如何改....
  5. VUE项目实战(一)
  6. python 正则匹配中re.match().group(num=0)
  7. PS(Photo Shop Cs6)批量调整图片大小
  8. TwinCAT-C++基础
  9. 概率 无穷数列求和公式
  10. Linux 内存管理 | 连续分配方式 和 离散分配方式