先簡單介紹一下quartz,Quartz是一個功能豐富的開源作業(yè)調(diào)度庫,可以集成到幾乎任何Java應(yīng)用程序中 - 從最小的獨立應(yīng)用程序到最大的電子商務(wù)系統(tǒng)。quartz可用于創(chuàng)建執(zhí)行數(shù)十,數(shù)百甚至數(shù)十萬個作業(yè)的簡單或復(fù)雜的計劃; 任務(wù)定義為標(biāo)準(zhǔn)Java組件的任務(wù),可以執(zhí)行任何可以對其進(jìn)行編程的任何內(nèi)容。Quartz Scheduler包含許多企業(yè)級功能,例如支持JTA事務(wù)和集群。
以上內(nèi)容來自quartz官網(wǎng)。

1源碼分析

我們會針對quartz的幾個主要類進(jìn)行分析,看一下quartz是如何實現(xiàn)定時調(diào)度功能

1.1測試Demo

來自官方實例的example1

public class SimpleExample {  public void run() throws Exception {
    Logger log = LoggerFactory.getLogger(SimpleExample.class);

    log.info("------- Initializing ----------------------");    // First we must get a reference to a scheduler
    SchedulerFactory sf = new StdSchedulerFactory();
    Scheduler sched = sf.getScheduler();

    log.info("------- Initialization Complete -----------");    // computer a time that is on the next round minute
    Date runTime = evenMinuteDate(new Date());

    log.info("------- Scheduling Job  -------------------");    // define the job and&nbs
        
		

網(wǎng)友評論