日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

@Scheduled注解

發布時間:2023/12/19 综合教程 33 生活家
生活随笔 收集整理的這篇文章主要介紹了 @Scheduled注解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 概述

@Scheduled注解是Spring Boot提供的用于定時任務控制的注解,主要用于控制任務在某個指定時間執行,或者每隔一段時間執行。注意需要配合@EnableScheduling使用,@Scheduled主要有三種配置執行時間的方式:

cron
fixedRate
fixedDelay

2 cron

cron@Scheduled的一個參數,是一個字符串,以5個空格隔開,只允許6個域(注意不是7個,7個直接會報錯),分別表示秒、分、時、日、月、周。

2.1 cron通配符

2.2 cron示例

@Scheduled(cron = "0 * * * 1 SAT") //每年的1月的所有周六的所有0秒時間執行
@Scheduled(cron = "0 0 0 1 Jan ?") //每年的1月的1日的0時0分0秒執行

cron支持占位符,若在配置文件中有

cron = 2 2 2 2 2 ?

@Scheduled(cron = "${cron}")

表示每年的二月二號的兩時兩分兩秒執行。

3 fixedRate

3.1 fixedRate

fixedRate表示自上一次執行時間之后多長時間執行,以毫秒為單位。

@Scheduled(fixedRate = 1000 * 5)

自上次執行之后5秒再執行。

3.2 fixedRateString

有一個類似的參數叫fixedRateString,是字符串的形式,支持占位符。

@Scheduled(fixedRateString = "1000")

自上次執行1秒再執行。

若在配置文件中有相應的屬性,可以用占位符獲取屬性,如在application.properties中有

interval=2000

可以使用

@Scheduled(fixedRateStirng="${interval}")

表示2秒間隔。

4 fixedDelay

4.1 fixedDelay

fixedDelayfixedRate有點類似,不過fixedRate是上一次開始之后計時,fixedDelay是上一次結束之后計時,也就是說,fixedDelay表示上一次執行完畢之后多長時間執行,單位也是毫秒。

@Scheduled(fixedDelay = 1000 * 3600 * 12) //上一次執行完畢后半天后再次執行

4.2 fixedDelayString

fixedRateString類似,也是支持占位符

@Scheduled(fixedDelayString = "${fixedDelay}")

5 initialDelay

5.1 initialDelay

initialDelay表示首次延遲多長時間后執行,單位毫秒,之后按照cron/fixedRate/fixedRateString/fixedDelay/fixedDelayString指定的規則執行,需要指定其中一個規則。

@Scheduled(initialDelay=1000,fixedRate=1000) //首次運行延遲1s

5.2 initialDelayString

initialDelay類似,不過是字符串,支持占位符。

@Scheduled(initialDelayString = "${initialDelay}",cron = "0 0 0 14 4 ?") 
//按照配置文件initialDelay指定的時間首次延遲,并于每年4月14日0時0分0秒執行

總結

以上是生活随笔為你收集整理的@Scheduled注解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。