读书人

quartz2.0运用

发布时间: 2012-12-24 10:43:14 作者: rapoo

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

读书人网 >编程

热点推荐