国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SpringBoot整合定時(shí)任務(wù)技術(shù)Quartz

這篇具有很好參考價(jià)值的文章主要介紹了SpringBoot整合定時(shí)任務(wù)技術(shù)Quartz。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

SpringBoot整合定時(shí)任務(wù)技術(shù)Quartz

個(gè)人簡(jiǎn)介:Java領(lǐng)域新星創(chuàng)作者;阿里云技術(shù)博主、星級(jí)博主、專家博主;正在Java學(xué)習(xí)的路上摸爬滾打,記錄學(xué)習(xí)的過(guò)程~
個(gè)人主頁(yè):.29.的博客
學(xué)習(xí)社區(qū):進(jìn)去逛一逛~

SpringBoot整合定時(shí)任務(wù)技術(shù)Quartz


# 一、SpringBoot整合定時(shí)任務(wù)技術(shù)Quartz

??Quartz應(yīng)用場(chǎng)景

Spring Boot整合Quartz的定時(shí)任務(wù)技術(shù)可以應(yīng)用于許多不同的場(chǎng)景。如:

  1. 定時(shí)任務(wù)調(diào)度:Quartz提供了強(qiáng)大的定時(shí)任務(wù)調(diào)度功能,可以幫助你在指定的時(shí)間點(diǎn)或按照一定的時(shí)間間隔執(zhí)行任務(wù)。這在需要定期執(zhí)行一些后臺(tái)任務(wù)、批量數(shù)據(jù)處理、數(shù)據(jù)同步等場(chǎng)景下非常有用。

  2. 數(shù)據(jù)清理與歸檔:在系統(tǒng)中,可能會(huì)生成大量的臨時(shí)性或歷史性數(shù)據(jù),使用Quartz可以定時(shí)執(zhí)行數(shù)據(jù)清理任務(wù),清除過(guò)期或不再需要的數(shù)據(jù),保持系統(tǒng)的存儲(chǔ)空間和性能。

  3. 緩存刷新:當(dāng)系統(tǒng)中的一些緩存數(shù)據(jù)需要定期刷新時(shí),可以使用Quartz定時(shí)執(zhí)行任務(wù)來(lái)觸發(fā)緩存的刷新操作。這可以確保緩存數(shù)據(jù)的有效性和實(shí)時(shí)性。

  4. 郵件發(fā)送:在某些場(chǎng)景下,需要定時(shí)發(fā)送郵件通知,比如每天發(fā)送一份報(bào)表、定期發(fā)送統(tǒng)計(jì)數(shù)據(jù)等。通過(guò)Quartz可以配置定時(shí)任務(wù),定時(shí)觸發(fā)郵件發(fā)送操作。

  5. 定時(shí)數(shù)據(jù)備份:定時(shí)對(duì)關(guān)鍵數(shù)據(jù)進(jìn)行備份是一種常見(jiàn)的數(shù)據(jù)安全策略。使用Quartz可以定期觸發(fā)數(shù)據(jù)備份任務(wù),確保系統(tǒng)數(shù)據(jù)的安全性和可恢復(fù)性。

  6. 系統(tǒng)監(jiān)控與報(bào)警:通過(guò)定時(shí)任務(wù),可以定期對(duì)系統(tǒng)狀態(tài)進(jìn)行檢查,例如CPU使用率、內(nèi)存占用、磁盤空間等,當(dāng)系統(tǒng)出現(xiàn)異常或達(dá)到閾值時(shí),可以觸發(fā)報(bào)警機(jī)制進(jìn)行預(yù)警處理。

  7. 定時(shí)數(shù)據(jù)分析和生成報(bào)表:在數(shù)據(jù)分析和報(bào)表生成場(chǎng)景中,可以利用Quartz定時(shí)觸發(fā)數(shù)據(jù)分析任務(wù),生成相應(yīng)的報(bào)表和統(tǒng)計(jì)結(jié)果。


相關(guān)概念

  • 工作(Job):用于定義具體執(zhí)行的工作
  • 工作明細(xì)(JobDetail):用于描述定時(shí)工作相關(guān)的信息
  • 觸發(fā)器(Trigger):用于描述觸發(fā)工作的規(guī)則,通常使用corn表達(dá)式定義調(diào)度規(guī)則
  • 調(diào)度器(Scheduler):描述了工作明細(xì)與觸發(fā)器的對(duì)應(yīng)關(guān)系

1.導(dǎo)入Quartz相關(guān)坐標(biāo)

pom.xml文件:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-quartz</artifactId>
            <scope>test</scope>
        </dependency>


2.定義具體任務(wù)

定義具體要執(zhí)行的任務(wù),繼承QuartzJobBean抽象類

/**
 * @author .29.
 * @create 2023-04-03 16:09
 */
//第一步:造任務(wù)
//使用Quartz技術(shù),需要讓類繼承QuartzJobBean抽象類,實(shí)現(xiàn)其抽象方法
public class MyQuartz extends QuartzJobBean {
    //此方法種指定具體功能
    @Override
    protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
        System.out.println("quartz is running ...");
    }
}



3. 配置類

定義工作明細(xì)與觸發(fā)器,綁定對(duì)應(yīng)關(guān)系

/**
 * @author .29.
 * @create 2023-04-03 16:14
 */
//第二步:設(shè)置配置類
@Configuration
public class QuartzConfig {
    //工作明細(xì)(工作明細(xì)在觸發(fā)器種制定工作)
    @Bean
    public JobDetail printJobDetail(){
        //綁定具體的工作
        //調(diào)用storeDurably()持久化,再build()
        return JobBuilder.newJob(MyQuartz.class).storeDurably().build();
    }

    //觸發(fā)器(觸發(fā)器綁定工作明細(xì))
    @Bean
    public Trigger printTrigger(){
        //設(shè)定觸發(fā)器 —— 參數(shù):秒 分 時(shí) 日 月 星期幾(0/5表示0秒開(kāi)始沒(méi)5秒執(zhí)行一次)
        ScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule("0/5 * * * * ?");
        //綁定對(duì)應(yīng)的工作明細(xì)
        return TriggerBuilder.newTrigger().forJob(printJobDetail()).withSchedule(scheduleBuilder).build();
    }
}



4.執(zhí)行

執(zhí)行效果

SpringBoot整合定時(shí)任務(wù)技術(shù)Quartz


Spring Boot整合Quartz的定時(shí)任務(wù)技術(shù)可以應(yīng)用于許多不同的場(chǎng)景,幫助我們實(shí)現(xiàn)定時(shí)執(zhí)行任務(wù)、數(shù)據(jù)清理、緩存刷新、郵件發(fā)送、數(shù)據(jù)備份、系統(tǒng)監(jiān)控與報(bào)警、數(shù)據(jù)分析和報(bào)表生成等功能。這些場(chǎng)景都需要定期執(zhí)行一些重復(fù)性或后臺(tái)的任務(wù),Quartz能夠提供靈活而可靠的定時(shí)任務(wù)調(diào)度功能,幫助我們簡(jiǎn)化開(kāi)發(fā)和管理。




二、SpringBoot整合定時(shí)任務(wù)技術(shù)task(簡(jiǎn)單好用)



SpringBoot啟動(dòng)類使用@EnableScheduling注解,開(kāi)啟定時(shí)任務(wù)功能

@SpringBootApplication
@EnableScheduling
public class Springboot5TaskApplication {

    public static void main(String[] args) {
        SpringApplication.run(Springboot5TaskApplication.class, args);
    }

}

設(shè)置定時(shí)執(zhí)行的任務(wù),并設(shè)定執(zhí)行周期

/**
 * @author .29.
 * @create 2023-04-03 20:41
 */
@Component
public class MyBean {
    //使用 @Scheduled注解綁定執(zhí)行的任務(wù),參數(shù)以cron表達(dá)式設(shè)定執(zhí)行時(shí)間及頻率
    @Scheduled(cron = "0/2 * * * * ?")
    public void print(){
        System.out.println("spring task is running ...");
    }
}



Spring task定時(shí)任務(wù)相關(guān)配置


SpringBoot工程配置文件application.yml

spring:
  task:
    scheduling:
      # 任務(wù)調(diào)度線程池大小:默認(rèn)為1
      size: 1
      
      # 任務(wù)線程名稱前綴 默認(rèn) scheduling-
      thread-name-prefix: task_
      
      shutdown:
        # 線程池關(guān)閉時(shí)等待所有任務(wù)完成
        await-termination: false
        # 調(diào)度線程關(guān)閉前最大等待時(shí)間,確保最后一定關(guān)閉
        await-termination-period: 10s

SpringBoot整合定時(shí)任務(wù)技術(shù)Quartz文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-486644.html

到了這里,關(guān)于SpringBoot整合定時(shí)任務(wù)技術(shù)Quartz的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【SpringBoot】82、SpringBoot集成Quartz實(shí)現(xiàn)動(dòng)態(tài)管理定時(shí)任務(wù)

    1、Quartz簡(jiǎn)介 在 SpringBoot 中,實(shí)現(xiàn)定時(shí)任務(wù)的方法有很多種,其中 Quartz 是較為靈活的一種,為在 Java 應(yīng)用程序中進(jìn)行作業(yè)調(diào)度提供了簡(jiǎn)單卻強(qiáng)大的機(jī)制。 Quartz 是一個(gè)開(kāi)源的作業(yè)調(diào)度框架,它完全由 Java 寫(xiě)成,并設(shè)計(jì)用于 J2SE 和 J2EE 應(yīng)用中。它提供了巨大的靈 活性而不犧牲簡(jiǎn)

    2024年02月11日
    瀏覽(36)
  • Quartz + SpringBoot 實(shí)現(xiàn)定時(shí)任務(wù)(多任務(wù),多執(zhí)行時(shí)間)代碼模板(直接CV即可)

    Quartz + SpringBoot 實(shí)現(xiàn)定時(shí)任務(wù)(多任務(wù),多執(zhí)行時(shí)間)代碼模板(直接CV即可)

    quartz 是一款開(kāi)源且豐富特性的Java 任務(wù)調(diào)度庫(kù) ,用于實(shí)現(xiàn)任務(wù)調(diào)度和定時(shí)任務(wù)。它支持各種任務(wù)類型和靈活的配置選項(xiàng),具備作業(yè)持久化、集群和分布式調(diào)度、錯(cuò)誤處理和重試機(jī)制等功能。Quartz被廣泛應(yīng)用于各種應(yīng)用程序中,提供可靠和靈活的任務(wù)調(diào)度解決方案。 我們想要

    2024年02月08日
    瀏覽(22)
  • Spring Boot進(jìn)階(69):輕松實(shí)現(xiàn)定時(shí)任務(wù)持久化!SpringBoot集成quartz帶你玩轉(zhuǎn)定時(shí)任務(wù)刪除、暫停、獲取等操作!【附項(xiàng)目源碼】

    Spring Boot進(jìn)階(69):輕松實(shí)現(xiàn)定時(shí)任務(wù)持久化!SpringBoot集成quartz帶你玩轉(zhuǎn)定時(shí)任務(wù)刪除、暫停、獲取等操作!【附項(xiàng)目源碼】

    ????????現(xiàn)如今,隨著市場(chǎng)競(jìng)爭(zhēng)加劇,各個(gè)企業(yè)都在不斷尋求提高效率、降低成本的方法,此時(shí)使用自動(dòng)化工具已成為必不可少的選擇。而在眾多的自動(dòng)化工具中,定時(shí)任務(wù)已經(jīng)成為一項(xiàng)必備工具,而Quartz就是一個(gè)非常好用的定時(shí)任務(wù)框架,它的輕量級(jí)、高可靠性、易于使

    2024年02月09日
    瀏覽(31)
  • Spring Boot進(jìn)階(68):如何用SpringBoot輕松實(shí)現(xiàn)定時(shí)任務(wù)?集成Quartz來(lái)幫你!(附源碼)

    Spring Boot進(jìn)階(68):如何用SpringBoot輕松實(shí)現(xiàn)定時(shí)任務(wù)?集成Quartz來(lái)幫你!(附源碼)

    ????????Quartz是一個(gè)非常流行的開(kāi)源調(diào)度框架,它提供了許多強(qiáng)大的功能,如定時(shí)任務(wù)調(diào)度、作業(yè)管理、任務(wù)持久化等。而SpringBoot是目前Java開(kāi)發(fā)中非常流行的框架之一,其對(duì)各種開(kāi)源框架集成非常方便。本篇文章將介紹如何在SpringBoot中集成Quartz,以便于更好的管理和調(diào)度

    2024年02月07日
    瀏覽(26)
  • Quartz實(shí)戰(zhàn):基于Quartz實(shí)現(xiàn)定時(shí)任務(wù)的動(dòng)態(tài)調(diào)度,實(shí)現(xiàn)定時(shí)任務(wù)的增刪改查

    Quartz實(shí)戰(zhàn):基于Quartz實(shí)現(xiàn)定時(shí)任務(wù)的動(dòng)態(tài)調(diào)度,實(shí)現(xiàn)定時(shí)任務(wù)的增刪改查

    Quartz使用文檔,使用Quartz實(shí)現(xiàn)動(dòng)態(tài)任務(wù),Spring集成Quartz,Quartz集群部署,Quartz源碼分析 Quartz使用文檔,使用Quartz實(shí)現(xiàn)動(dòng)態(tài)任務(wù),Spring集成Quartz,Quartz集群部署,Quartz源碼分析 此處省略了SysJob實(shí)體類,以及Mapper等對(duì)數(shù)據(jù)庫(kù)的操作。 本文只是大致實(shí)現(xiàn)一個(gè)基于Quartz實(shí)現(xiàn)定時(shí)任務(wù)

    2024年02月15日
    瀏覽(23)
  • springboot+redis+mysql+quartz-使用pipeline+lua技術(shù)將緩存數(shù)據(jù)定時(shí)更新到數(shù)據(jù)庫(kù)

    代碼講解:7.3點(diǎn)贊功能-定時(shí)持久化到數(shù)據(jù)庫(kù)-Java程序整合pipeline+lua_嗶哩嗶哩_bilibili https://www.bilibili.com/video/BV1Lg4y1w7U9 代碼: blogLike_schedule/like08 · xin麒/XinQiUtilsOrDemo - 碼云 - 開(kāi)源中國(guó) (gitee.com) https://gitee.com/flowers-bloom-is-the-sea/XinQiUtilsOrDemo/tree/master/blogLike_schedule/like08 數(shù)據(jù)庫(kù)表:

    2024年02月13日
    瀏覽(18)
  • 定時(shí)任務(wù)組件Quartz

    定時(shí)任務(wù)組件Quartz

    quartz的核心概念 三步 job:做什么事,比如查詢當(dāng)前時(shí)間,定時(shí)清理圖片 trigger:什么時(shí)候做 scheduler:什么時(shí)候做什么事 需要引入依賴 SpringBoot 通過(guò)注解配置Quartz 再運(yùn)行SpringBoot的啟動(dòng)類。?

    2024年01月23日
    瀏覽(23)
  • C#--使用Quartz實(shí)現(xiàn)定時(shí)任務(wù)

    C#--使用Quartz實(shí)現(xiàn)定時(shí)任務(wù)

    Quartz.NET是一個(gè)開(kāi)源的作業(yè)調(diào)度框架,非常適合在平時(shí)的工作中,定時(shí)輪詢數(shù)據(jù)庫(kù)同步,定時(shí)郵件通知,定時(shí)處理數(shù)據(jù)等。 Quartz.NET允許開(kāi)發(fā)人員根據(jù)時(shí)間間隔(或天)來(lái)調(diào)度作業(yè)。它實(shí)現(xiàn)了作業(yè)和觸發(fā)器的多對(duì)多關(guān)系,還能把多個(gè)作業(yè)與不同的觸發(fā)器關(guān)聯(lián)。整合了Quartz.NET的應(yīng)

    2024年02月08日
    瀏覽(25)
  • 分布式定時(shí)任務(wù)調(diào)度框架Quartz

    分布式定時(shí)任務(wù)調(diào)度框架Quartz

    Quartz是一個(gè)定時(shí)任務(wù)調(diào)度框架,比如你遇到這樣的問(wèn)題: 比如淘寶的待支付功能,后臺(tái)會(huì)在你生成訂單后24小時(shí)后,查看訂單是否支付,未支付則取消訂單 比如vip的每月自動(dòng)續(xù)費(fèi)功能 … 想定時(shí)在某個(gè)時(shí)間,去做某件事 Quartz是一套輕量級(jí)的任務(wù)調(diào)度框架,只需要定義了 Job(

    2024年02月04日
    瀏覽(37)
  • Spring Boot 中實(shí)現(xiàn)定時(shí)任務(wù)(quartz)功能實(shí)戰(zhàn)

    Spring Boot 中實(shí)現(xiàn)定時(shí)任務(wù)(quartz)功能實(shí)戰(zhàn)

    ??作者簡(jiǎn)介,普修羅雙戰(zhàn)士,一直追求不斷學(xué)習(xí)和成長(zhǎng),在技術(shù)的道路上持續(xù)探索和實(shí)踐。 ??多年互聯(lián)網(wǎng)行業(yè)從業(yè)經(jīng)驗(yàn),歷任核心研發(fā)工程師,項(xiàng)目技術(shù)負(fù)責(zé)人。 ??歡迎 ??點(diǎn)贊?評(píng)論?收藏 ?? SpringBoot 領(lǐng)域知識(shí) ?? 鏈接 專欄 SpringBoot 專業(yè)知識(shí)學(xué)習(xí)一 SpringBoot專欄 Sprin

    2024年01月19日
    瀏覽(24)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包