quartz2.0使用
?
package com.csl.quartz;import static org.quartz.CronScheduleBuilder.cronSchedule;import static org.quartz.JobBuilder.newJob;import static org.quartz.TriggerBuilder.newTrigger;import org.quartz.CronTrigger;import org.quartz.JobDetail;import org.quartz.Scheduler;import org.quartz.SchedulerFactory;import org.quartz.impl.StdSchedulerFactory;public class QuartzTest {/** * @param args */public static void main(String[] args) { SchedulerFactory sf = new StdSchedulerFactory(); Scheduler sched = sf.getScheduler(); // jobs can be scheduled before sched.start() has been called // job 1 will run every 20 seconds String groupName = "group1"; JobDetail job = newJob(SimpleJob.class) .withIdentity("job1", groupName) .build(); CronTrigger trigger = newTrigger() .withIdentity("trigger1", groupName) .withSchedule(cronSchedule("0/20 * * * * ?")) .build(); sched.start();}}?
?
?
?
public class SimpleJob implements Job { public void execute(JobExecutionContext context) throws JobExecutionException { System.out.println("xxxxxxx"); }}?
?此文摘自quartz的example3
?
文中job的groupName和trigger的groupName必须保持一致,
?
"0/20 * * * * ?" ?可配置于配置文件中,但配置文件名不可为quartz.properties,因为StdSchedulerFactory在获取getScheduler的时候会自动去类路径下寻找quartz.properties,然后做一些初始化,如果没有quartz.properties也就算了,如果有的话,以至于一些属性没有配置会导致启动出错,Exception:Thread count must be >0
1 楼 felsenlee 2011-04-04 官网上没看到java版本,是不是java1.5不支持? 2 楼 wr123 2011-09-09 最近把公司原来的定时项目进行重构,准备使用quartz2,发现2.0在数据库方式下好像不能支持监听器的存储了,不知道楼主有没有好的办法 3 楼 lteb2002 2011-10-15 newJob是JobBuilder类的一个静态方法,为啥不用类名呢?看得人一头雾水,Trigger也是。 4 楼 zhangq168 2011-10-17 lteb2002 写道newJob是JobBuilder类的一个静态方法,为啥不用类名呢?看得人一头雾水,Trigger也是。