任務排程器就是按照規定的計畫完成任務;比如windows,linux的自帶的任務排程系統功能;平常開發中也就是按照規定的時間點輪詢執行計畫任務(比如每週三的凌晨進行資料備份),或者按時間隔觸發一次任務排程(比如每3小時執行一次定時抓拍);
如果有用過quartz的讀者肯定了解cron時鐘週期計畫;下面是cron對應位數的說明,其中第七位年份通常忽略,第四位跟第六位同時表達會有歧義,通常只表達具體的一位,另一位使用?表示解決衝突;
位數說明
第一位second(0-59)
第二位minute(0-59)
第三位hour(0-23)
第四位day of month(1-31)
第五位month(1-12)
第六位day of week(1-7)1是週日,7是週六
第七位year(1970-2099)
佔位符說明
*表示任意時刻
?day of month 或者 day of week
-表示範圍
/表示間隔
,表示列舉
l表示最後day of month 或者 day of week
w表示有效工作日(1-5)day of month
#表示第幾個星期幾 day of week
lw表示某月最後乙個工作日
corn
說明0 0 3 * * ?
每月每天凌晨3點觸發
0 0 3 1 * ?
每月1日凌晨3點觸發
0 0 3 ? * wen
星期三中午12點觸發
0 0 3 ?* mon-fri
周一至周五凌晨3點觸發
0 0/5 8 * * ?
每天7點至7:55分每隔5分鐘觸發一次
0 10,20 8 * * ?
每天的8點10分,8點20分觸發
0 0 1-3 * * ?
每天的1點至三點每小時觸發一次
0 0 8 l * ?
每月最後一天的8點觸發
0 10 12 ? * 6#3
每月的第三個星期五的12:10分觸發
0 10 12 ? * 6l 2022
表示2023年每月最後乙個星期五10:22分觸發
org.springframework.boot
spring-boot-starter-web
在@scheduled註解中自定義cron排程計畫;將註解用在需要進行排程的方法上
/**
* @author lsc
* @description
* @date 2019/11/11 22:23
*/@service
public class plainservice
}
啟動類需要加上 @enablescheduling 表示開啟任務排程;
/**
* @author lsc
* @description 任務排程啟動類
* @date 2019/11/11 22:20
*/// 開啟任務排程
@enablescheduling
public static void main(string args)
}
每隔3000毫秒執行一次,必須是上次排程成功後3000毫秒;
@scheduled(fixeddelay = 3000)
public void fixeddelayscheduled()
每個3000毫秒執行一次,無論上次是否會執行成功,下次都會執行;
@scheduled(fixedrate = 3000)
public void fixedratescheduled()
initialdelay 表示初始化延遲1000毫秒後,執行具體的任務排程,之後按照fixedrate進行任務排程;
@scheduled(initialdelay = 1000,fixedrate = 3000)
public void initialdelaystringscheduled()
時光荏苒,初心不改,愛學習,愛每一天;原始碼在github上![](https://pic.w3help.cc/6f3/a50af9a5f84426fc378cb61250782.jpeg)
Spring Boot 之優雅使用 AOP
aop為aspect oriented programming的縮寫,意思是面向切面程式設計,通過預編譯的方式和執行時動態 實現程式功能的統一維護的一種技術。利用aop可以對業務邏輯進行分離,降低耦合度,提高可重用性,提高開發效率。主要用途 日誌記錄 事務處理 異常處理 安全處理 效能統計 在spr...
SpringBoot如何優雅地使用Swagger2
spring boot 框架是目前非常流行的微服務框架,我們很多情況下使用它來提供 rest api。而對於 rest api 來說很重要的一部分內容就是文件,swagger 為我們提供了一套通過 和註解自動生成文件的方法,這一點對於保證 api 文件的及時性將有很大的幫助。本文將使用 swagge...
如何優雅的丟擲Spring Boot註解的異常詳解
前言 spring boot它簡化了配置,內嵌式tomcat容器,用於快速開發基於spring的應用,是乙個微框架,本文主要介紹的是關於如何優雅的丟擲spring boot註解的異常的相關內容,下面話不多說了,來一起看看詳細的介紹吧 平時我們在寫 的時候肯定要進行很多引數驗證,最開始的時候我們一般都...