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

1源碼分析

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

1.1測(cè)試Demo

來(lái)自官方實(shí)例的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)友評(píng)論