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

Spring實(shí)現(xiàn)Quartz自動配置的方法詳解

 更新時間:2023年11月13日 09:25:25   作者:阿湯哥  
這篇文章主要介紹了Spring實(shí)現(xiàn)Quartz自動配置的方法詳解,如果想在應(yīng)用中使用Quartz任務(wù)調(diào)度功能,可以通過Spring Boot實(shí)現(xiàn)Quartz的自動配置,以下介紹如何開啟Quartz自動配置,以及Quartz自動配置的實(shí)現(xiàn)過程,需要的朋友可以參考下

1. 開啟Quartz自動配置

QuartzAutoConfiguration自動為Quartz的自動配置類,它的創(chuàng)建了SchedulerFactoryBean。

在這里插入圖片描述

首先通過QuartzAutoConfiguration自動配置類可以看到,要實(shí)現(xiàn)Quartz自動配置,需要存在三個類Scheduler.class, SchedulerFactoryBean.class, PlatformTransactionManager.class,其中

  • Scheduler所在包quartz-2.3.0.jar
  • SchedulerFactoryBean所在包spring-context-support-5.2.10.RELEASE.jar
  • PlatformTransactionManager所在包spring-tx-5.2.10.RELEASE.jar 因此需要確保這三個Jar包在pom文件中存在。

在這里插入圖片描述

Quartz的坐標(biāo)示例:

<dependency>
  <groupId>org.quartz-scheduler</groupId>
  <artifactId>quartz</artifactId>
  <version>2.3.0</version>
</dependency>

2. Quartz自動配置的實(shí)現(xiàn)過程

2.1 核心類圖

下圖展示了Quartz的核心類圖,其中

  • Scheduler是Quartz調(diào)度器的主接口;
  • SchedulerFactory是調(diào)度器工廠接口,用戶獲取調(diào)度器實(shí)例;
  • StdScheduler是Scheduler的一個實(shí)現(xiàn)類,同時也是一個代理類,它會將所有的方法調(diào)用直接傳遞給內(nèi)部的QuartzScheduler對象;RemoteScheduler是Scheduler的另一個實(shí)現(xiàn)類,同時也是一個代理類,它會將所有的方法調(diào)用通過RMI傳遞給遠(yuǎn)程的QuartzScheduler對象;
  • StdSchedulerFactory是SchedulerFactory的實(shí)現(xiàn)類,它會創(chuàng)建QuartzScheduler對象,并返回其代理對象StdScheduler;
  • QuartzSchedulerResources包含所有的資源,包括JobStore、線程池信息等;
  • QuartzSchedulerThread是觸發(fā)和執(zhí)行任務(wù)的主線程;

在這里插入圖片描述

2.2 核心方法

  • 準(zhǔn)備SchedulerFactory -> StdSchedulerFactory
  • 準(zhǔn)備Scheduler -> StdScheduler
  • 注冊監(jiān)聽器
  • 注冊任務(wù)和觸發(fā)器

在這里插入圖片描述

3. 任務(wù)調(diào)度執(zhí)行

3.1 大致流程

任務(wù)調(diào)度的大致流程:

  • 如果線程池有可用線程,獲取待執(zhí)行Trigger;
  • 獲取觸發(fā)器Trigger的觸發(fā)任務(wù),構(gòu)造JobRunShell;
  • 放入線程池執(zhí)行任務(wù),默認(rèn)使用線程池實(shí)現(xiàn) org.quartz.simpl.SimpleThreadPool;

在這里插入圖片描述

3.2 調(diào)整線程池的大小

線程池的默認(rèn)大小為10,可以通過配置文件調(diào)整默認(rèn)線程池的大小

spring:
  quartz:
    properties:
      org:
        quartz:
          threadPool:
            threadCount: 15

本文從如何開啟Quartz自動配置入手,介紹了自動配置的核心類和自動配置的實(shí)現(xiàn)過程,以及任務(wù)調(diào)度的大致執(zhí)行邏輯,最后介紹了如何通過Spring配置調(diào)整線程池的大小,希望對大家有所幫助。

到此這篇關(guān)于Spring實(shí)現(xiàn)Quartz自動配置的方法詳解的文章就介紹到這了,更多相關(guān)Spring實(shí)現(xiàn)Quartz自動配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MyBatis之一級緩存和二級緩存問題

    MyBatis之一級緩存和二級緩存問題

    這篇文章主要介紹了MyBatis之一級緩存和二級緩存問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • SpringBoot實(shí)現(xiàn)支付寶沙箱支付的完整步驟

    SpringBoot實(shí)現(xiàn)支付寶沙箱支付的完整步驟

    沙箱支付是一種用于模擬真實(shí)支付環(huán)境的測試工具,它提供了一個安全的測試環(huán)境,供開發(fā)者在不影響真實(shí)交易的情況下進(jìn)行支付功能的開發(fā)和測試,這篇文章給大家介紹了SpringBoot實(shí)現(xiàn)支付寶沙箱支付的完整步驟,需要的朋友可以參考下
    2024-04-04
  • 使用proguard對maven構(gòu)建的springboot項(xiàng)目進(jìn)行混淆方式

    使用proguard對maven構(gòu)建的springboot項(xiàng)目進(jìn)行混淆方式

    文章介紹了如何使用ProGuard對Maven構(gòu)建的Spring Boot項(xiàng)目進(jìn)行混淆,并解決混淆后可能遇到的版本兼容性問題和類名沖突問題,主要步驟包括下載高版本的ProGuard、配置POM文件、添加ProGuard配置文件、修改Spring Boot啟動文件以避免類名沖突
    2024-11-11
  • SpringBoot沒有主清單屬性的解決方法

    SpringBoot沒有主清單屬性的解決方法

    在本篇文章里小編給大家整理的是關(guān)于解決SpringBoot沒有主清單屬性知識點(diǎn),需要的朋友們學(xué)習(xí)下。
    2019-11-11
  • Java設(shè)計(jì)模式之責(zé)任鏈模式簡介

    Java設(shè)計(jì)模式之責(zé)任鏈模式簡介

    這篇文章主要介紹了Java設(shè)計(jì)模式之責(zé)任鏈模式,需要的朋友可以參考下
    2014-07-07
  • 解決springboot報錯Failed?to?parse?multipart?servlet?request;?nested?exception?is?java.io.IOException問題

    解決springboot報錯Failed?to?parse?multipart?servlet?request

    在使用SpringBoot開發(fā)時,通過Postman發(fā)送POST請求,可能會遇到因臨時目錄不存在而導(dǎo)致的MultipartException異常,這通常是因?yàn)镺S系統(tǒng)(如CentOS)定期刪除/tmp目錄下的臨時文件,解決方案包括重啟項(xiàng)目
    2024-10-10
  • Java字節(jié)緩存流的構(gòu)造方法之文件IO流

    Java字節(jié)緩存流的構(gòu)造方法之文件IO流

    這篇文章主要介紹了Java字節(jié)緩存流的構(gòu)造方法之文件IO流,同時也介紹了字符流中的一些相關(guān)的內(nèi)容,并且通過大量的案例供大家理解。最后通過一些經(jīng)典的案例幫助大家對前面所學(xué)的知識做了一個綜合的應(yīng)用,需要的朋友可以參考一下
    2022-04-04
  • 解決Spring boot 嵌入的tomcat不啟動問題

    解決Spring boot 嵌入的tomcat不啟動問題

    這篇文章主要介紹了解決Spring boot 嵌入的tomcat不啟動問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • Fluent Mybatis零xml配置實(shí)現(xiàn)復(fù)雜嵌套查詢

    Fluent Mybatis零xml配置實(shí)現(xiàn)復(fù)雜嵌套查詢

    本文主要介紹了Fluent Mybatis零xml配置實(shí)現(xiàn)復(fù)雜嵌套查詢,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 一文秒懂Java中的樂觀鎖 VS 悲觀鎖

    一文秒懂Java中的樂觀鎖 VS 悲觀鎖

    這篇文章主要介紹了java樂觀鎖 VS 悲觀鎖的相關(guān)知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-05-05

最新評論

五台县| 板桥市| 灵川县| 法库县| 紫云| 独山县| 鲜城| 淮北市| 敖汉旗| 宝应县| 个旧市| 柳林县| 衡阳市| 建瓯市| 九龙县| 南投市| 通许县| 昆明市| 武功县| 镇平县| 临沭县| 威宁| 霍州市| 饶河县| 浮梁县| 抚顺县| 三河市| 姜堰市| 从化市| 阿城市| 丰台区| 五莲县| 曲麻莱县| 名山县| 天柱县| 青河县| 海宁市| 舟山市| 泽普县| 鞍山市| 日土县|