Quartz使用指南

Quartz是一个功能丰富,开源的JAVA作业调度库。
官方网站:http://www.quartz-scheduler.org/

下载Quartz
我们用的是Quartz2.2.1,解压缩包后发现有jar包:

C3p0(线程池相关jar包)
Log4j(日志记录相关jar包)
Quartz
Quartz-jobs
Slf4j-api, Slf4j-log4j(日志记录相关jar包)

Log4j的日志配置相当棒,还在用system.out.println调试的同学赶快要搜索学习一下啦。

配置Quartz
简单在自己工程目录下建立quartz.properties文件。

org.quartz.scheduler.instanceName = MyScheduler
org.quartz.threadPool.threadCount = 3
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore

更多配置可以自己看文档或参考examples文件夹里面的例子。
简单而言:第一行意思是调度的名称是MyScheduler
第二行:线程池里最大线程数。
第三行:是quartz数据的存放设置。

开始一个简单的程序

import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.impl.StdSchedulerFactory;
import static org.quartz.JobBuilder.*;
import static org.quartz.TriggerBuilder.*;
import static org.quartz.SimpleScheduleBuilder.*;
public class QuartzTest {
public static void main(String[] args) {
try {
        // Grab the Scheduler instance from the Factory 
        Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();

        // and start it off
        scheduler.start();

        scheduler.shutdown();

    } catch (SchedulerException se) {
        se.printStackTrace();
    }
}

}
这段代码应该都看得懂吧,然后把你想运行的东西放到start和off之间即可。

// define the job and tie it to our HelloJob class
JobDetail job = newJob(HelloJob.class)
    .withIdentity("job1", "group1")
    .build();

// Trigger the job to run now, and then repeat every 40 seconds
Trigger trigger = newTrigger()
    .withIdentity("trigger1", "group1")
    .startNow()
    .withSchedule(simpleSchedule()
            .withIntervalInSeconds(40)
            .repeatForever())            
    .build();
// Tell quartz to schedule the job using our trigger
scheduler.scheduleJob(job, trigger);

你可能感兴趣的:(java,quartz)