Java定時器@Scheduled注解的使用方法
1.定時器@Scheduled簡介
@Scheduled注解可以用于做定時任務(wù),再方法上加上@Scheduled注解,可以將這個方法定義為一個任務(wù)發(fā)放,可以搭配cron表達式進行任務(wù)的控制。
開啟定時任務(wù)時在類上加注解 @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,F(xiàn)RI,SAT)
7.年份(1970-2099)

2.一些符號的意義
(1)* 表示可以匹配該域的所有值;
例如,"0 0 13 * * ?"表示每天的13點執(zhí)行一次。
(2)?在cron表達式中必須出現(xiàn)且只能出現(xiàn)1次,用在日域或周域上,表示不確定值、不限制值;
它與*的區(qū)別是,并不能匹配到該域上的所有值,例如指定了3月份每個周五,那么3月份的周五可能只有4個值;
例如,"0 0 5 6 * ?"表示每個月6日5點鐘執(zhí)行而無論周幾,"0 0 5 ? * 3"表示每個周三5點鐘執(zhí)行而無論是幾號。
(3)- 表示匹配該域上的一個范圍;
例如,"0 30 9-15 ? * *"表示每天的9:30-15:30每小時執(zhí)行一次,"0 1-5 * ? * 1"表示每周日每個小時的1-5分鐘每分鐘執(zhí)行一次。
(4), 表示枚舉值;
例如,"0 0 8,16,23 ? * 1,7"表示每個周六日的8點、16點、23點各執(zhí)行一次。
(5)/ 表示起始時間和間隔時間;
例如,"0 0 3/5 * * ?"表示每天3點開始執(zhí)行,每隔5個小時執(zhí)行一次,即3點、8點、13點、18點、23點各執(zhí)行一次,
"*/5 * * * * ?"表示每隔5秒鐘執(zhí)行一次,"0 */1 * * * ?"表示每隔1分鐘執(zhí)行一次。
(6)# 只能用于周域上,#后面的數(shù)字表示第幾周,如果不存在這個周的值,則不執(zhí)行;
例如,"0 0 0 ? * 5#2"表示每個月第2個周四零點執(zhí)行,"15 30 6 ? * 7#5"表示每個月第5個周六6:30:15執(zhí)行,如果某個月不存在第5個周六,則不執(zhí)行。
(7)L 只能用于日域或周域,用于日域時表示當月最后一天,用于周域如果前面不加數(shù)字表示周六,加數(shù)字表示最后一個周值;
例如,"0 0 23 L * ?"表示每月最后一天的23點執(zhí)行,"0 0 23 ? * L"表示每周六的23點執(zhí)行,"0 0 23 ? * 3L"表示每月最后一個周二的23點執(zhí)行。
3.一些常見實例

4.fixedDelay和fixedRate的使用

---------------------------------------------------------以毫秒為單位---------------------------------------------------------
@Scheduled(fixedDelay = 5000) //上一次任務(wù)執(zhí)行完畢時間點之后5秒再執(zhí)行 @Scheduled(fixedRate = 5000) //上一次任務(wù)開始執(zhí)行時間點之后5秒再執(zhí)行
總結(jié)
到此這篇關(guān)于Java定時器@Scheduled注解的使用方法的文章就介紹到這了,更多相關(guān)Java定時器@Scheduled注解內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java畢業(yè)設(shè)計實戰(zhàn)之仿小米電子產(chǎn)品售賣商城系統(tǒng)的實現(xiàn)
這是一個使用了java+SpringBoot+Vue+MySQL+Redis+ElementUI開發(fā)的仿小米商城系統(tǒng),是一個畢業(yè)設(shè)計的實戰(zhàn)練習,具有小米商城該有的所有基礎(chǔ)功能,感興趣的朋友快來看看吧2022-01-01
IDEA下使用MyBatisCodeHelper插件的方法詳解
這篇文章主要介紹了IDEA下使用MyBatisCodeHelper插件的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09
SpringBoot之使用Feign實現(xiàn)微服務(wù)間的交互
這篇文章主要介紹了SpringBoot中使用Feign實現(xiàn)微服務(wù)間的交互,對微服務(wù)這方面感興趣的小伙伴可以參考閱讀本文2023-03-03
Java按照List內(nèi)存儲的對象的某個字段進行排序的實例
下面小編就為大家?guī)硪黄狫ava按照List內(nèi)存儲的對象的某個字段進行排序的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-12-12
使用@value注解取不到application.xml配置文件中的值問題
這篇文章主要介紹了使用@value注解取不到application.xml配置文件中的值問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03

