下在Quartz包,解压后会发现根目录下有一大堆的jar包,最重要的是quartz-all-xxx.jar,xxx当然就是版本号了,必须把这个包放到项目的classpath的跟目录下。lib目录下是一些第三方库,如果是单独的Quartz服务,建议把他们都引入到项目中。
配置文件,Quartz的配置文件通常叫做quartz.properties,首先这个文件不是必须的,除非你想配置quartz的一些基本的配置,就必须把它放在classpath路径下。
配置,配置Quartz最好的方式就是编辑quartz.properties这个文件。基本的quartz.properties配置如下,
org.quartz.scheduler.instanceName = MyScheduler
org.quartz.threadPool.threadCount = 3
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
org.quartz.scheduler.instanceName 时间调度的名称
org.quartz.threadPool.threadCount 同时运行的任务数
org.quartz.jobStore.class 调度的数据类,包含job的详细信息和触发条件
简单例子
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();
}
}
}
通过StdSchedulerFactory.getDefaultScheduler(); 取得的scheduler,不会停止,除非调用shutdown()方法,因为这是个运行的线程。
quartz 的版本变化感觉非常大,用的时候要参考具体版本的api,主要有三个接口类, Scheduler ,JobDetail,Trigger。掌握了这三个类及其具体接口类,就基本掌握了quartz的应用!