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

Springboot整合quartz實現(xiàn)多個定時任務(wù)實例

 更新時間:2023年08月12日 09:49:21   作者:牛奮lch  
這篇文章主要介紹了Springboot整合quartz實現(xiàn)多個定時任務(wù)代碼實例,Quartz?是一款功能強大的開源任務(wù)調(diào)度框架,幾乎可以集成到任何?Java?應(yīng)用程序中,Quartz?可用于創(chuàng)建簡單或復(fù)雜的任務(wù)調(diào)度,用以執(zhí)行數(shù)以萬計的任務(wù),需要的朋友可以參考下

Springboot整合quartz實現(xiàn)多個定時任務(wù)的實現(xiàn)思路

最近收到了很多封郵件,都是想知道spring boot整合quartz如何實現(xiàn)多個定時任務(wù)的,由于本人生產(chǎn)上并沒有使用到多個定時任務(wù),這里給個實現(xiàn)的思路。

1、新建兩個定時任務(wù),如下:

public class ScheduledJob implements Job{ 
    @Override
    public void execute(JobExecutionContext context) throws JobExecutionException { 
        System.out.println("schedule job1 is running…………………………………… "); 
    }
}
public class ScheduledJob2 implements Job {
    @Override
    public void execute(JobExecutionContext context) throws JobExecutionException { 
        System.out.println("schedule job2 is running ……………………………………………………"); 
    }
}

2、配置以上兩個任務(wù)

@Component
public class SchedulerAllJob {
    @Autowired
    private SchedulerFactoryBean schedulerFactoryBean;
    /*
     * 此處可以注入數(shù)據(jù)庫操作,查詢出所有的任務(wù)配置
     */
    /**
     * 該方法用來啟動所有的定時任務(wù)
     * @throws SchedulerException
     */
    public void scheduleJobs() throws SchedulerException {
        Scheduler scheduler = schedulerFactoryBean.getScheduler();
        /**
         *  
         */
        scheduleJob1(scheduler); 
        scheduleJob2(scheduler); 
    }
    /**
     * 配置Job1
     * 此處的任務(wù)可以配置可以放到properties或者是放到數(shù)據(jù)庫中
     * 如果此時需要做到動態(tài)的定時任務(wù),請參考:http://blog.csdn.net/liuchuanhong1/article/details/60873295
     *  博客中的ScheduleRefreshDatabase類
     * @param scheduler
     * @throws SchedulerException
     */
    private void scheduleJob1(Scheduler scheduler) throws SchedulerException{
    	/*
    	 *  此處可以先通過任務(wù)名查詢數(shù)據(jù)庫,如果數(shù)據(jù)庫中存在該任務(wù),則按照ScheduleRefreshDatabase類中的方法,更新任務(wù)的配置以及觸發(fā)器
    	 *  如果此時數(shù)據(jù)庫中沒有查詢到該任務(wù),則按照下面的步驟新建一個任務(wù),并配置初始化的參數(shù),并將配置存到數(shù)據(jù)庫中
    	 */
        JobDetail jobDetail = JobBuilder.newJob(ScheduledJob.class) .withIdentity("job1", "group1").build(); 
        // 每5s執(zhí)行一次
        CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule("0/5 * * * * ?"); 
        CronTrigger cronTrigger = TriggerBuilder.newTrigger().withIdentity("trigger1", "group1") .withSchedule(scheduleBuilder).build(); 
        scheduler.scheduleJob(jobDetail,cronTrigger); 
    }
    /**
     * 配置Job
     * @param scheduler
     * @throws SchedulerException
     */
    private void scheduleJob2(Scheduler scheduler) throws SchedulerException{ 
        JobDetail jobDetail = JobBuilder.newJob(ScheduledJob2.class) .withIdentity("job2", "group1").build();
        CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule("0/10 * * * * ?"); 
        // 每10s執(zhí)行一次
        CronTrigger cronTrigger = TriggerBuilder.newTrigger().withIdentity("trigger2", "group1") .withSchedule(scheduleBuilder).build(); 
        scheduler.scheduleJob(jobDetail,cronTrigger);
    }
}

3、啟動兩個任務(wù)

@Configuration
@EnableScheduling
@Component
public class SchedulerListener {
    @Autowired
    public SchedulerAllJob myScheduler;
    /**
     *  啟動的時候執(zhí)行該方法,或者是使用ApplicationListener,在啟動的時候執(zhí)行該方法
     *  具體使用見:http://blog.csdn.net/liuchuanhong1/article/details/77568187
     * @throws SchedulerException
     */
    @Scheduled(cron="0 08 18 ? * *")
    public void schedule() throws SchedulerException { 
            myScheduler.scheduleJobs();
     } 
    @Bean
    public SchedulerFactoryBean schedulerFactoryBean(){
        SchedulerFactoryBean schedulerFactoryBean = new SchedulerFactoryBean(); 
        return schedulerFactoryBean; 
    }
}

4、測試結(jié)果如下

schedule job1 is running…………………………………… 
schedule job2 is running ……………………………………………………
schedule job1 is running…………………………………… 
schedule job1 is running…………………………………… 
schedule job2 is running ……………………………………………………
schedule job1 is running…………………………………… 
schedule job1 is running…………………………………… 
schedule job2 is running ……………………………………………………
schedule job1 is running…………………………………… 

到此這篇關(guān)于Springboot整合quartz實現(xiàn)多個定時任務(wù)的實現(xiàn)思路的文章就介紹到這了,更多相關(guān)Springboot整合quartz內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring Boot學(xué)習(xí)入門之表單驗證

    Spring Boot學(xué)習(xí)入門之表單驗證

    表單驗證主要是用來防范小白搞亂網(wǎng)站和一些低級的黑客技術(shù)。Spring Boot可以使用注解 @Valid 進行表單驗證。下面這篇文章主要給大家介紹了關(guān)于Spring Boot學(xué)習(xí)入門之表單驗證的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-09-09
  • struts2自定義攔截器的示例代碼

    struts2自定義攔截器的示例代碼

    本篇文章主要介紹了struts2自定義攔截器的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • SpringCloud整合MQ實現(xiàn)消息總線服務(wù)方式

    SpringCloud整合MQ實現(xiàn)消息總線服務(wù)方式

    這篇文章主要介紹了SpringCloud整合MQ實現(xiàn)消息總線服務(wù)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-05-05
  • SpringBoot之LogBack配置詳解

    SpringBoot之LogBack配置詳解

    這篇文章主要介紹了SpringBoot之LogBack配置詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • Java使用新浪微博API通過賬號密碼方式登陸微博的實例

    Java使用新浪微博API通過賬號密碼方式登陸微博的實例

    這篇文章主要介紹了Java使用新浪微博API通過賬號密碼方式登陸微博的實例,一般來說第三方App都是采用OAuth授權(quán)認證然后跳轉(zhuǎn)之類的方法,而本文所介紹的賬號方式則更具有自由度,需要的朋友可以參考下
    2016-02-02
  • Java根據(jù)模板實現(xiàn)excel導(dǎo)出標準化

    Java根據(jù)模板實現(xiàn)excel導(dǎo)出標準化

    這篇文章主要為大家詳細介紹了Java如何根據(jù)模板實現(xiàn)excel導(dǎo)出標準化,文中的示例代碼講解詳細,具有一定的借鑒價值,有需要的小伙伴可以參考下
    2024-03-03
  • Java 圖片復(fù)制功能實現(xiàn)過程解析

    Java 圖片復(fù)制功能實現(xiàn)過程解析

    這篇文章主要介紹了Java 圖片復(fù)制功能實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • Java內(nèi)部類之間的閉包和回調(diào)詳解

    Java內(nèi)部類之間的閉包和回調(diào)詳解

    相信閉包和回調(diào)對每位學(xué)習(xí)Java的人來說都不陌生,那么今天小編和大家分享一篇關(guān)于Java內(nèi)部類之間的閉包和回調(diào),有需要的可以參考借鑒。
    2016-09-09
  • idea-java序列化serialversionUID自動生成方式

    idea-java序列化serialversionUID自動生成方式

    Java的Serializable接口用于實現(xiàn)對象的序列化和反序列化,通過將對象轉(zhuǎn)換為字節(jié)流來存儲或傳輸,實現(xiàn)Serializable接口的類需要定義serialVersionUID以保證序列化和反序列化過程的兼容性,IDEA提供了便捷的配置和快捷鍵來生成serialVersionUID
    2025-11-11
  • vue?vxe-table?實現(xiàn)財務(wù)記賬憑證的方案

    vue?vxe-table?實現(xiàn)財務(wù)記賬憑證的方案

    使用?vxe-table?實現(xiàn)財務(wù)記賬憑證非常簡單,實現(xiàn)在線實時編輯的記賬憑證、自動合計金額等,這篇文章主要介紹了vue?vxe-table?實現(xiàn)財務(wù)記賬憑證的方案,需要的朋友可以參考下
    2024-12-12

最新評論

来安县| 长海县| 龙南县| 丽江市| 同心县| 英吉沙县| 辛集市| 贡山| 涪陵区| 邹城市| 张家港市| 阿城市| 固镇县| 新竹县| 中江县| 丰台区| 黄浦区| 宜宾市| 涡阳县| 黄石市| 怀柔区| 伊金霍洛旗| 昌宁县| 桃园市| 称多县| 竹北市| 耿马| 海伦市| 吕梁市| 丰镇市| 平顺县| 哈尔滨市| 汝城县| 南昌县| 清苑县| 万山特区| 朔州市| 林周县| 嵩明县| 盘山县| 会泽县|