最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring Boot 中啟用定時(shí)任務(wù)的操作方法

 更新時(shí)間:2024年11月15日 09:33:15   作者:種樹人20240819  
文章主要介紹了如何在Spring Boot中啟用定時(shí)任務(wù),包括使用@EnableScheduling注解、配置項(xiàng)控制定時(shí)任務(wù)是否開啟以及如何關(guān)閉cron定時(shí)任務(wù),感興趣的朋友跟隨小編一起看看吧

添加 @EnableScheduling 注解

可以添加在 Application 類上

@SpringBootApplication
@EnableScheduling
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

定義定時(shí)任務(wù)類和方法

定時(shí)任務(wù)類要注冊為Spring IoC 容器的 Bean,或者通過 @Bean 將某個(gè)方法的返回值(返回值為定時(shí)任務(wù)類對象)注冊為 Spring IoC 的Bean。

package com.cmcc.nlpt.sitemessage.task;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
public class ScheduledTask {
    /**
     * 每日0點(diǎn)執(zhí)行
     */
    @Scheduled (cron = "0 0 0 * * ?")
    public void doCronTask() {
    }
    /**
     * 本次任務(wù)結(jié)束到下次任務(wù)開始的時(shí)間間隔為5秒
     */
    @Scheduled (fixedDelay = 5000)
    public void doFixedDelayTask() {
    }
    /**
     * 兩次任務(wù)開始時(shí)間間間隔為5秒
     */
    @Scheduled(fixedRate = 5000)
    public void doFixedRateTask() {
    }
    /**
     * 第一次任務(wù)啟動延時(shí)1秒,后續(xù)任務(wù)結(jié)束到下次任務(wù)開始的時(shí)間間隔為5秒
     */
    @Scheduled(initialDelay = 1000, fixedDelay = 5000)
    public void doInitialDelayTask() {
    }
}

通過配置項(xiàng)控制定時(shí)任務(wù)是否開啟

方法一 @ConditionalOnProperty

此方法是控制任務(wù)類是否注冊為 Spring IoC 的 Bean,可以控制上述所有類型的定時(shí)任務(wù)是否注冊。

# enabled 配置為 false 時(shí)定時(shí)任務(wù)就不會開啟
scheduled-task:
  enabled: true
@Component
@ConditionalOnProperty(name = "scheduled-task.enabled", havingValue = "true")
public class ScheduledTask {
    /**
     * 每日0點(diǎn)執(zhí)行
     */
    @Scheduled (cron = "0 0 0 * * ?")
    public void doCronTask() {
    }
    /**
     * 本次任務(wù)結(jié)束到下次任務(wù)開始的時(shí)間間隔為5秒
     */
    @Scheduled (fixedDelay = 5000)
    public void doFixedDelayTask() {
    }
    /**
     * 兩次任務(wù)開始時(shí)間間間隔為5秒
     */
    @Scheduled(fixedRate = 5000)
    public void doFixedRateTask() {
    }
    /**
     * 第一次任務(wù)啟動延時(shí)1秒,后續(xù)任務(wù)結(jié)束到下次任務(wù)開始的時(shí)間間隔為5秒
     */
    @Scheduled(initialDelay = 1000, fixedDelay = 5000)
    public void doInitialDelayTask() {
    }
}

方法二 Boolean 標(biāo)志位

使用此方法定時(shí)任務(wù)還是會被調(diào)度執(zhí)行,只是在任務(wù)執(zhí)行時(shí)什么都不做,也可以控制上述所有類型的定時(shí)任務(wù)。

scheduled-task:
  enabled: true
@Component
@ConditionalOnProperty(name = "scheduled-task.enabled", havingValue = "true")
public class ScheduledTask {
    @Value("${scheduled-task.enabled}")
    private Boolean taskEnabled;
    @Scheduled (fixedDelay = 5000)
    public void doFixedDelayTask() {
        if (!taskEnabled) {
            return;
        }
        System.out.println("start to doFixedDelayTask");
    }
}

使用"-"使 cron 定時(shí)任務(wù)關(guān)閉

此方法只適用于 cron 類型的定時(shí)任務(wù),不適用于其它類型的定時(shí)任務(wù)。

注意:yml 文件中配置 - 時(shí)要加上雙引號或單引號,否則會報(bào)錯(cuò)。

關(guān)閉 cron 定時(shí)任務(wù)的配置:

scheduled-task:
  cron: "-"

開始 cron 定時(shí)任務(wù)的配置,將 cron 表達(dá)式配置上即可:

scheduled-task:
  cron: 0 0 0 * * ?
@Component
public class ScheduledTask {
    /**
     * 每日0點(diǎn)執(zhí)行
     */
    @Scheduled (cron = "${scheduled-task.cron}")
    public void doCronTask() {
    }
}

參考資料

到此這篇關(guān)于如何在 Spring Boot 中啟用定時(shí)任務(wù)的文章就介紹到這了,更多相關(guān)Spring Boot啟用定時(shí)任務(wù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java實(shí)現(xiàn)檢測是否字符串中包含中文

    java實(shí)現(xiàn)檢測是否字符串中包含中文

    本文給大家分享了2個(gè)使用java檢測字符串中是否包含中文的代碼,都非常的實(shí)用,最后附上了各種字符的unicode編碼的范圍,方便我們以后使用正則進(jìn)行匹配檢測。
    2015-10-10
  • Java中List集合去重的幾種方式詳細(xì)解析

    Java中List集合去重的幾種方式詳細(xì)解析

    這篇文章主要介紹了Java中List集合去重的幾種方式詳細(xì)解析,在日常的業(yè)務(wù)開發(fā)中,偶爾會遇到需要將 List 集合中的重復(fù)數(shù)據(jù)去除掉的場景,那么今天我們來看看幾種LIst集合去重的方式,需要的朋友可以參考下
    2023-11-11
  • Spring Boot 如何整合連接池

    Spring Boot 如何整合連接池

    這篇文章主要介紹了Spring Boot 如何整合連接池,幫助大家更好的理解和學(xué)習(xí)spring boot框架,感興趣的朋友可以了解下
    2020-11-11
  • Java的validation參數(shù)校驗(yàn)代碼實(shí)例

    Java的validation參數(shù)校驗(yàn)代碼實(shí)例

    這篇文章主要介紹了Java的validation參數(shù)校驗(yàn)代碼實(shí)例,Validation參數(shù)校驗(yàn)是指在程序運(yùn)行中對傳進(jìn)來的參數(shù)進(jìn)行合法性檢查,以保證程序的正確性和安全性,需要的朋友可以參考下
    2023-10-10
  • 結(jié)合線程池實(shí)現(xiàn)apache?kafka消費(fèi)者組的誤區(qū)及解決方法

    結(jié)合線程池實(shí)現(xiàn)apache?kafka消費(fèi)者組的誤區(qū)及解決方法

    這篇文章主要介紹了結(jié)合線程池實(shí)現(xiàn)apache?kafka消費(fèi)者組的誤區(qū)及解決方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • spring cloud學(xué)習(xí)入門之config配置教程

    spring cloud學(xué)習(xí)入門之config配置教程

    這篇文章主要給大家介紹了關(guān)于spring cloud學(xué)習(xí)入門之config配置的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用spring cloud具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-09-09
  • java 實(shí)現(xiàn)通過 post 方式提交json參數(shù)操作

    java 實(shí)現(xiàn)通過 post 方式提交json參數(shù)操作

    這篇文章主要介紹了java 實(shí)現(xiàn)通過 post 方式提交json參數(shù)操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Java如何實(shí)現(xiàn)Word文檔分欄效果

    Java如何實(shí)現(xiàn)Word文檔分欄效果

    這篇文章主要介紹了Java如何實(shí)現(xiàn)Word文檔分欄效果,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • IDEA啟動tomcat項(xiàng)目報(bào)錯(cuò)53820 socket closed問題及解決

    IDEA啟動tomcat項(xiàng)目報(bào)錯(cuò)53820 socket closed問題及解決

    IDEA啟動Tomcat項(xiàng)目時(shí)報(bào)錯(cuò),原因是IDEA關(guān)閉時(shí)Tomcat未正常關(guān)閉,導(dǎo)致端口被占用,解決方法是通過任務(wù)管理器關(guān)閉占用高內(nèi)存的Java進(jìn)程,通常是IDEA進(jìn)程下面的,或者使用命令行找到PID并強(qiáng)制終止進(jìn)程
    2024-12-12
  • 微信js-sdk+JAVA實(shí)現(xiàn)“分享到朋友圈”和“發(fā)送給朋友”功能詳解

    微信js-sdk+JAVA實(shí)現(xiàn)“分享到朋友圈”和“發(fā)送給朋友”功能詳解

    本文分享了微信js-sdk+JAVA實(shí)現(xiàn)“分享到朋友圈”和“發(fā)送給朋友”功能介紹,大家可以參考一下
    2018-03-03

最新評論

房山区| 郧西县| 大同市| 石家庄市| 榆中县| 白银市| 隆安县| 亚东县| 安新县| 涞水县| 宁蒗| 涿州市| 卢湾区| 邵阳县| 安塞县| 揭西县| 留坝县| 赤水市| 宜黄县| 河津市| 历史| 巴青县| 舒城县| 元氏县| 牟定县| 连平县| 红安县| 安远县| 徐汇区| 河源市| 连南| 葵青区| 比如县| 高平市| 抚州市| 敖汉旗| 汝阳县| 沐川县| 大化| 宁晋县| 洮南市|