您的位置:首页 > 其它

Quartz 框架(一)

2016-07-21 14:50 363 查看
package com.vista.quartz;

import java.util.Date;       

import org.apache.commons.logging.Log;       

import org.apache.commons.logging.LogFactory;       

import org.quartz.JobDetail;

import org.quartz.Scheduler;       

import org.quartz.SchedulerException;       

import org.quartz.Trigger;

import org.quartz.TriggerUtils;

import org.quartz.impl.StdSchedulerFactory;

public class SimpleScheduler

{

    static Log logger = LogFactory.getLog(SimpleScheduler.class);         

    public static void main(String[] args)

    {       

         SimpleScheduler simple = new SimpleScheduler();       

         try

         {       

             // Create a Scheduler and schedule the Job       

             Scheduler scheduler = simple.createScheduler();         

             // Jobs can be scheduled after Scheduler is running       

             scheduler.start();          

             logger.info("Scheduler started at " + new Date());         

             // Schedule the first Job       

             simple.scheduleJob(scheduler, "ScanDirectory1",ScanDirectoryJob.class,"D:\\conf1", 10);          

             // Schedule the second Job       

             simple.scheduleJob(scheduler, "ScanDirectory2",ScanDirectoryJob.class,"D:\\conf2 ", 15);       

        }

        catch (SchedulerException ex)

        {       

             logger.error(ex);       

        }       

    }       

    public Scheduler createScheduler() throws SchedulerException

    {//创建调度器       

        return StdSchedulerFactory.getDefaultScheduler();

    }   

    

    private void scheduleJob(Scheduler scheduler, String jobName,Class jobClass, String scanDir, int scanInterval) throws SchedulerException

    {         

        // Create a JobDetail for the Job       

       JobDetail jobDetail = new JobDetail(jobName,Scheduler.DEFAULT_GROUP, jobClass);         

       // Configure the directory to scan       

       jobDetail.getJobDataMap().put("SCAN_DIR", scanDir);         

       // Trigger that repeats every "scanInterval" secs forever       

       Trigger trigger = TriggerUtils.makeSecondlyTrigger(scanInterval);         

       trigger.setName(jobName + "-Trigger");         

       // Start the trigger firing from now       

       trigger.setStartTime(new Date());         

       // Associate the trigger with the job in the scheduler       

       scheduler.scheduleJob(jobDetail, trigger);       

  }       

}

作者:洞庭散人

出处:http://phinecos.cnblogs.com/    

本博客遵从Creative Commons Attribution 3.0 License,若用于非商业目的,您可以自由转载,但请保留原作者信息和文章链接URL。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: