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

Java使用quartz實現定時任務示例詳解

 更新時間:2022年08月09日 16:42:35   作者:奔跑的毛球  
這篇文章主要為大家介紹了Java使用quartz實現定時任務示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

正文

最近新到了一個項目,用到定時任務的地方是真滴多。

就稍微研究了一下,來做個demo。

其實定時任務使用很廣泛也很方便,之前做的人事管理項目,就會定期執(zhí)行定時任務計算工資,對于一個saas服務來說,即時的計算所有員工的工資有點奢侈,所以在每周末計算一次就ok了。

國外有的公司是一周發(fā)一次工資,所以當時的邏輯是一周算一次。在國內就一月一次很ok了。在當時的report服務中,也是定時任務同步數據到Birt服務,然后展現數據。

現在的項目中使用的就更多了。把一些耗費性能的,數據即時性不強的都可以用定時任務在服務器負載不高的時候進行計算。比如半夜計算商城用戶的積分,半夜計算銀行用戶行為產生的積分。銀行系統(tǒng)半夜計算罰息復利等。都是定時任務很好的應用例子。

下來我們舉一個列子來實現一個定時任務。

配置文件

sue.spring.quartz.cron=*/5 * * * * ?

pom

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

定時任務和觸發(fā)器

package com.luke.demo.schedule;
import org.quartz.*;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class QuartzConfig {
    @Value("${sue.spring.quartz.cron}")
    private String testCron;
    /**
     * 創(chuàng)建定時任務
     */
    @Bean
    public JobDetail quartzTestDetail() {
        JobDetail jobDetail = JobBuilder.newJob(QuartzTestJob.class)
                //添加認證信息
                .withIdentity("quartzTestDetail", "QUARTZ_TEST")
                .build();
        return jobDetail;
    }
    /**
     * 創(chuàng)建觸發(fā)器
     */
    @Bean
    public Trigger quartzTestJobTrigger() {
        //執(zhí)行頻率
        CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule(testCron);
        //創(chuàng)建觸發(fā)器
        Trigger trigger = TriggerBuilder.newTrigger()
                .forJob(quartzTestDetail())
                //添加認證信息
                .withIdentity("quartzTestJobTrigger", "QUARTZ_TEST_JOB_TRIGGER")
                //添加執(zhí)行規(guī)則
                .withSchedule(cronScheduleBuilder)
                .build();
        return trigger;
    }
}

定時任務的業(yè)務代碼

這里的QuartzTestJob如下,方法executeInternal里就是需要定時執(zhí)行的任務。

public class QuartzTestJob extends QuartzJobBean {
    @Override
    protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
        System.out.println("現在是"+ new Date());
    }
}

當項目啟動起來之后,就會按照設定的頻率輸出如下:

當然也可以啟動定時任務查詢三方的返回結果,之前做車抵貸業(yè)務的風控系統(tǒng)的時候,請求了三方的數據,主動請求然后定時任務輪詢結果。

現在看來,用消息隊列實現也是很每秒,延時消息剛好可以滿足這個業(yè)務需求,請求數據然后向消息隊列中放入一個延時消息,時間到了,去請求結果,若是沒好,就再往消息隊列中放入一個延時消息。這樣相對于定時任務的好處是,避免了CPU空轉,提升了性能。

以上就是Java使用quartz實現定時任務示例詳解的詳細內容,更多關于Java quartz實現定時任務的資料請關注腳本之家其它相關文章!

相關文章

  • Java實現簡單井字棋小游戲代碼實例

    Java實現簡單井字棋小游戲代碼實例

    這篇文章主要介紹了Java實現簡單井字棋小游戲代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03
  • 詳解Hibernate緩存與性能優(yōu)化

    詳解Hibernate緩存與性能優(yōu)化

    在hibernate中,提到性能優(yōu)化,很自然地我們就想到了緩存。緩存是什么,都有哪些呢?下面這篇文章就主要給大家介紹了關于Hibernate緩存與性能優(yōu)化的相關資料,需要的朋友可以參考下。
    2017-02-02
  • 解決springboot環(huán)境切換失效的問題

    解決springboot環(huán)境切換失效的問題

    這篇文章主要介紹了解決springboot環(huán)境切換失效的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Spring?Security配置多個數據源并添加登錄驗證碼的實例代碼

    Spring?Security配置多個數據源并添加登錄驗證碼的實例代碼

    這篇文章主要介紹了Spring?Security配置多個數據源并添加登錄驗證碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • Java8中對于LocalDateTime的序列化和反序列化問題

    Java8中對于LocalDateTime的序列化和反序列化問題

    這篇文章主要介紹了Java8中對于LocalDateTime的序列化和反序列化問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Java+JFrame實現貪吃蛇小游戲

    Java+JFrame實現貪吃蛇小游戲

    這篇文章主要為大家詳細介紹了Java+JFrame實現貪吃蛇小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • Java?Stream去重常見的多種方法及示例

    Java?Stream去重常見的多種方法及示例

    這篇文章主要介紹了Java?Stream中實現去重的多種方法,包括使用distinct()、Collectors.toMap、filter和groupingBy等,詳細說明了每種方法的應用場景和示例代碼,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-04-04
  • 還在用if(obj!=null)做非空判斷,帶你快速上手Optional

    還在用if(obj!=null)做非空判斷,帶你快速上手Optional

    這篇文章主要介紹了還在用if(obj!=null)做非空判斷,帶你快速上手Optional,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-05-05
  • Java實現分頁的前臺頁面和后臺代碼

    Java實現分頁的前臺頁面和后臺代碼

    這篇文章主要為大家詳細介紹了Java實現分頁的前臺頁面和后臺代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • MyBatis圖文并茂講解注解開發(fā)一對一查詢

    MyBatis圖文并茂講解注解開發(fā)一對一查詢

    這篇文章主要介紹了SpringBoot中Mybatis注解一對一查詢的實現示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07

最新評論

平远县| 马鞍山市| 淅川县| 龙江县| 珲春市| 定襄县| 鄂温| 开封县| 密山市| 神农架林区| 丹江口市| 梁平县| 哈尔滨市| 温州市| 漳州市| 孙吴县| 抚宁县| 武乡县| 丰都县| 易门县| 长葛市| 临城县| 聂拉木县| 株洲市| 突泉县| 平塘县| 昌邑市| 临潭县| 台州市| 永兴县| 正阳县| 库伦旗| 丹江口市| 久治县| 湘乡市| 宁强县| 松桃| 湖北省| 浏阳市| 罗定市| 时尚|