亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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)建簡(jiǎn)單或復(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ù)庫(kù)操作,查詢出所有的任務(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ù)庫(kù)中
     * 如果此時(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ù)庫(kù),如果數(shù)據(jù)庫(kù)中存在該任務(wù),則按照ScheduleRefreshDatabase類中的方法,更新任務(wù)的配置以及觸發(fā)器
    	 *  如果此時(shí)數(shù)據(jù)庫(kù)中沒有查詢到該任務(wù),則按照下面的步驟新建一個(gè)任務(wù),并配置初始化的參數(shù),并將配置存到數(shù)據(jù)庫(kù)中
    	 */
        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、測(cè)試結(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)文章

  • java實(shí)現(xiàn)http請(qǐng)求工具類示例

    java實(shí)現(xiàn)http請(qǐng)求工具類示例

    這篇文章主要介紹了java實(shí)現(xiàn)http請(qǐng)求工具類示例,需要的朋友可以參考下
    2014-05-05
  • Josephus環(huán)的四種解法(約瑟夫環(huán))基于java詳解

    Josephus環(huán)的四種解法(約瑟夫環(huán))基于java詳解

    這篇文章主要介紹了Josephus環(huán)的四種解法(約瑟夫環(huán))基于java詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Java模擬實(shí)現(xiàn)QQ三方登錄(單點(diǎn)登錄2.0)

    Java模擬實(shí)現(xiàn)QQ三方登錄(單點(diǎn)登錄2.0)

    這篇文章主要為大家詳細(xì)介紹了Java模擬實(shí)現(xiàn)QQ三方登錄,單點(diǎn)登錄2.0,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • Spring AOP的入門教程

    Spring AOP的入門教程

    Spring AOP是Spring框架的一個(gè)模塊,本文主要介紹了Spring AOP的入門教程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-11-11
  • 解析SpringSecurity+JWT認(rèn)證流程實(shí)現(xiàn)

    解析SpringSecurity+JWT認(rèn)證流程實(shí)現(xiàn)

    這篇文章主要介紹了解析SpringSecurity+JWT認(rèn)證流程實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 聊聊為什么要使用BufferedReader讀取File

    聊聊為什么要使用BufferedReader讀取File

    這篇文章主要介紹了為什么要使用BufferedReader讀取File,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java解決線程安全的兩種方式分享

    Java解決線程安全的兩種方式分享

    這篇文章主要為大家詳細(xì)介紹了Java中兩種常用的解決線程安全的方式——Synchornized和Lock,文中的示例代碼簡(jiǎn)潔易懂,快跟隨小編一起學(xué)習(xí)起來吧
    2023-06-06
  • Java中對(duì)象數(shù)組的使用方法詳解

    Java中對(duì)象數(shù)組的使用方法詳解

    這篇文章主要介紹了Java中對(duì)象數(shù)組的使用方法,結(jié)合實(shí)例形式分析了java對(duì)象數(shù)組的功能、定義、初始化與相關(guān)使用技巧,需要的朋友可以參考下
    2019-08-08
  • mac下idea啟動(dòng)web項(xiàng)目報(bào)錯(cuò)java.net.SocketException:socket closed問題

    mac下idea啟動(dòng)web項(xiàng)目報(bào)錯(cuò)java.net.SocketException:socket closed

    本文主要介紹了作者在項(xiàng)目啟動(dòng)時(shí)遇到的一個(gè)問題——無法打開調(diào)試端口,經(jīng)過一系列排查和嘗試,最終發(fā)現(xiàn)是由于權(quán)限問題導(dǎo)致的,作者還分享了如何修改文件權(quán)限的方法,并提醒大家不要隨意kill掉占用端口的進(jìn)程
    2024-12-12
  • Spring?AOP?的實(shí)現(xiàn)和切點(diǎn)表達(dá)式的實(shí)現(xiàn)方式

    Spring?AOP?的實(shí)現(xiàn)和切點(diǎn)表達(dá)式的實(shí)現(xiàn)方式

    本文給大家介紹了Spring?AOP的基本概念、通知類型、切點(diǎn)表達(dá)式和切面優(yōu)先級(jí),并通過示例代碼展示了如何實(shí)現(xiàn)這些功能,感興趣的朋友跟隨小編一起看看吧
    2024-12-12

最新評(píng)論