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

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

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

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

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

1、新建兩個(gè)定時(shí)任務(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、配置以上兩個(gè)任務(wù)

@Component
public class SchedulerAllJob {
    @Autowired
    private SchedulerFactoryBean schedulerFactoryBean;
    /*
     * 此處可以注入數(shù)據(jù)庫操作,查詢出所有的任務(wù)配置
     */
    /**
     * 該方法用來啟動(dòng)所有的定時(shí)任務(wù)
     * @throws SchedulerException
     */
    public void scheduleJobs() throws SchedulerException {
        Scheduler scheduler = schedulerFactoryBean.getScheduler();
        /**
         *  
         */
        scheduleJob1(scheduler); 
        scheduleJob2(scheduler); 
    }
    /**
     * 配置Job1
     * 此處的任務(wù)可以配置可以放到properties或者是放到數(shù)據(jù)庫中
     * 如果此時(shí)需要做到動(dòng)態(tài)的定時(shí)任務(wù),請(qǐng)參考: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í)數(shù)據(jù)庫中沒有查詢到該任務(wù),則按照下面的步驟新建一個(gè)任務(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、啟動(dòng)兩個(gè)任務(wù)

@Configuration
@EnableScheduling
@Component
public class SchedulerListener {
    @Autowired
    public SchedulerAllJob myScheduler;
    /**
     *  啟動(dòng)的時(shí)候執(zhí)行該方法,或者是使用ApplicationListener,在啟動(dòng)的時(shí)候執(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實(shí)現(xiàn)多個(gè)定時(shí)任務(wù)的實(shí)現(xiàn)思路的文章就介紹到這了,更多相關(guān)Springboot整合quartz內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

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

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

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

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

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

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

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

    SpringBoot之LogBack配置詳解

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

    Java使用新浪微博API通過賬號(hào)密碼方式登陸微博的實(shí)例

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

    Java根據(jù)模板實(shí)現(xiàn)excel導(dǎo)出標(biāo)準(zhǔn)化

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

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

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

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

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

    idea-java序列化serialversionUID自動(dòng)生成方式

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

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

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

最新評(píng)論

太和县| 海城市| 天镇县| 台南县| 衢州市| 舞阳县| 华坪县| 浠水县| 新安县| 盐源县| 洞头县| 漠河县| 聂荣县| 青田县| 神池县| 梁河县| 金坛市| 苍溪县| 南皮县| 庄河市| 乐清市| 松潘县| 环江| 江城| 凤台县| 阿拉尔市| 区。| 南昌县| 连云港市| 桂阳县| 东源县| 崇左市| 保靖县| 崇仁县| 敦化市| 张家口市| 博兴县| 南通市| 紫金县| 普格县| 贵德县|