quartz2.0运用
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也是。
各自的写法习惯而已,自己习惯用哪种就用哪种呗