前景提要
HDC调试需求开发(15万预算),能者速来!>>>
今天由于项目需要,重温一下quartz的使用,随手copy了一下代码,来个整体的感觉:
先是job的代码:
package com; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; public class JobSchool implements Job { public void execute(JobExecutionContext arg0) throws JobExecutionException { // TODO Auto-generated method stub System.out.println("go to school***"); } }
然后是测试类的代码:
@Test public void test() throws SchedulerException{ SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory(); Scheduler sched = schedFact.getScheduler(); sched.start(); JobDetail jobDetail = new JobDetail("myJob",Scheduler.DEFAULT_GROUP,job.class); SimpleTrigger trigger = new SimpleTrigger("testTrigger", Scheduler.DEFAULT_GROUP); trigger.setRepeatCount(6); trigger.setRepeatInterval(500); trigger.setStartTime(Calendar.getInstance().getTime()); sched.scheduleJob(jobDetail, trigger); }
测试结果:
很奇怪,明明设了执行六次,每次半秒间隔,但是执行结果确实让人摸不着头脑……
后来用一下的代码测试就行了:
public static void main(String[] a) throws SchedulerException{ SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory(); Scheduler sched = schedFact.getScheduler(); sched.start(); JobDetail jobDetail = new JobDetail("myJob",Scheduler.DEFAULT_GROUP,job.class); SimpleTrigger trigger = new SimpleTrigger("testTrigger", Scheduler.DEFAULT_GROUP); trigger.setRepeatCount(6); trigger.setRepeatInterval(500); trigger.setStartTime(Calendar.getInstance().getTime()); sched.scheduleJob(jobDetail, trigger); }
这到底是为什么啊,浪费我大量的时间啊