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

spring boot整合quartz實(shí)現(xiàn)多個定時任務(wù)的方法

 更新時間:2018年01月16日 11:33:24   作者:牛奮lch  
這篇文章主要介紹了spring boot整合quartz實(shí)現(xiàn)多個定時任務(wù)的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 從面試中的問題分析ThreadLocal

    從面試中的問題分析ThreadLocal

    這篇文章主要介紹了從面試中的問題分析ThreadLocal,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,下面我們來一起學(xué)習(xí)一下吧
    2019-06-06
  • 解決找不到符號 符號:變量 log問題

    解決找不到符號 符號:變量 log問題

    這篇文章主要介紹了解決找不到符號 符號: 變量 log問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • JAVA 多線程爬蟲實(shí)例詳解

    JAVA 多線程爬蟲實(shí)例詳解

    這篇文章主要介紹了JAVA 多線程爬蟲實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • IDEA中配置多個版本的JDK的實(shí)現(xiàn)示例

    IDEA中配置多個版本的JDK的實(shí)現(xiàn)示例

    IDEA可以配置多個JDK,根據(jù)需要使用不同版本的,本文就來介紹一下IDEA中配置多個版本的JDK的實(shí)現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • java數(shù)據(jù)結(jié)構(gòu)之搜索二叉樹

    java數(shù)據(jù)結(jié)構(gòu)之搜索二叉樹

    這篇文章主要為大家詳細(xì)介紹了java數(shù)據(jù)結(jié)構(gòu)之搜索二叉樹,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Java中final關(guān)鍵字詳解及實(shí)例

    Java中final關(guān)鍵字詳解及實(shí)例

    這篇文章主要介紹了Java中final關(guān)鍵字詳解及實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • SpringBoot Tomcat漏洞修復(fù)的解決方法

    SpringBoot Tomcat漏洞修復(fù)的解決方法

    本文主要介紹了SpringBoot Tomcat漏洞修復(fù)的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-04-04
  • 超細(xì)講解Java調(diào)用python文件的幾種方式

    超細(xì)講解Java調(diào)用python文件的幾種方式

    有時候我們在寫java的時候需要調(diào)用python文件,下面這篇文章主要給大家介紹了關(guān)于Java調(diào)用python文件的幾種方式,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • 使用Netty快速實(shí)現(xiàn)一個群聊功能的示例詳解

    使用Netty快速實(shí)現(xiàn)一個群聊功能的示例詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用?Netty?框架開發(fā)一個?WebSocket?服務(wù)端,從而實(shí)現(xiàn)一個簡單的在線聊天功能,感興趣的小伙伴可以了解下
    2023-11-11
  • java實(shí)現(xiàn)平面山脈模型

    java實(shí)現(xiàn)平面山脈模型

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)平面山脈模型,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01

最新評論

屏南县| 当阳市| 通江县| 衢州市| 陆良县| 乌拉特中旗| 怀集县| 金沙县| 织金县| 清镇市| 德阳市| 合作市| 当雄县| 察隅县| 石棉县| 永寿县| 理塘县| 永定县| 南开区| 金寨县| 凤山市| 志丹县| 阜城县| 石柱| 乌拉特后旗| 邢台县| 玛多县| 同仁县| 双江| 荣昌县| 长垣县| 汉川市| 柳林县| 上蔡县| 宝应县| 额尔古纳市| 马尔康县| 桐乡市| 广元市| 滦南县| 梅河口市|