欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

定時任務(wù)@Scheduled用法及其參數(shù)使用

 更新時間:2024年08月02日 08:49:29   作者:Mr朱墨  
這篇文章主要介紹了定時任務(wù)@Scheduled用法及其參數(shù)使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

定時任務(wù)@Scheduled用法及參數(shù)

@Scheduled是Spring框架中的一個注解,用于標(biāo)記一個方法為定時任務(wù)。

當(dāng)使用@Scheduled注解時,Spring會自動創(chuàng)建一個定時任務(wù)的執(zhí)行器(Scheduler),并在指定的時間間隔內(nèi)執(zhí)行被標(biāo)記的方法。

使用@Scheduled注解時,可以通過設(shè)置不同的屬性來定義定時任務(wù)的行為,例如:

  • fixedRate:固定頻率執(zhí)行任務(wù),表示每隔指定的時間間隔執(zhí)行一次任務(wù)。
  • fixedDelay:固定延遲執(zhí)行任務(wù),表示在上一次任務(wù)執(zhí)行完成后,等待指定的時間間隔再執(zhí)行下一次任務(wù)。
  • initialDelay:初始延遲時間,表示在第一次執(zhí)行任務(wù)之前的等待時間。
  • cron:使用Cron表達式定義任務(wù)的執(zhí)行時間,可以更靈活地控制任務(wù)的執(zhí)行時間。

具體實現(xiàn):

/**
 * 定時任務(wù)001:@Scheduled
 * springboot自帶的簡易定時任務(wù)實現(xiàn)
 *
 * @author zhupeng
 * @Date 2022/1/7 9:53 AM
 */
@Component
public class ScheduleTask {
    private String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());

    // 任務(wù)間隔3s執(zhí)行依次【不包括任務(wù)執(zhí)行時間】,延遲1s后執(zhí)行
    @Scheduled(initialDelay = 1000, fixedDelay = 3000)
    public void fixedDelay() {
        System.out.println("fixedDelay:" + this.date);
    }

    // 每隔間隔3s執(zhí)行依次【包括任務(wù)執(zhí)行時間】
    @Scheduled(fixedRate = 3000)
    public void fixedRate() {
        System.out.println("fixedRate:" + this.date);
    }
    
    // cron表達式,Quartz更詳細
    @Scheduled(cron = "*/5 * * * * *")
    public void cron() {
        System.out.println("cron:" + this.date);
    }
}

Spring框架中@Scheduled注解失效問題

問題描述

在Spring框架的Web項目中,有一個業(yè)務(wù)功能需要每天執(zhí)行一次,使用了@Scheduled注解執(zhí)行定時任務(wù),但是出現(xiàn)了定時任務(wù)不執(zhí)行的情況

嘗試的方式

類上加@EnableScheduling注解、加實現(xiàn)SchedulingConfigurer接口的配置類、修改cron表達式

都失敗了

最終查到的解決方式

在Spring的配置文件中,添加配置:

  • 1.加命名空間

xmlns添加:

xmlns:task="http://www.springframework.org/schema/task"

xsi:schemaLocation添加 :

http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.3.xsd"
  • 2.啟動注解驅(qū)動
<task:annotation-driven scheduler="dataScheduler"/>
  • 3.開啟任務(wù)調(diào)度器,并配置線程池大小
<task:scheduler id="dataScheduler" pool-size="5"/>
  • 4.然后就可以使用@Scheduled注解了

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論