资源描述:
《调度任务框架Quart的使用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1.新建任务接口JobpublicinterfaceJob{publicvoidexecute(JobExecutionContextcontext)throwsJobExecutionException;}2.创建接口Job的实现类publicclassSimpleJobimplementsJob{publicvoidexecute(JobExecutionContextarg0)throwsJobExecutionException{System.out.println("SimpleJob");//执行内容}}3.
2、调度任务执行建立要素(1).新建调度工厂SchedulerFactory对象sfSchedulerFactorysf=newStdSchedulerFactory();(2).获取调度任务对象Schedulersched=sf.getScheduler();(3).几种触发开始时间设置DatestartTime=org.quartz.DateBuilder.dateOf(inthour,intminute,intsecond,intdayOfMonth,intmonth,intyear)DatestartTime=org
3、.quartz.DateBuilder.dateOf(inthour,intminute,intsecond)DatestartTime=newDate(System.currentTimeMillis()+60000L))//指定60秒钟以后开始。DatestartTime=DateBuilder.nextGivenSecondDate(null,15);//每分钟以15秒为单位,当前时间下个15秒开始DatestartTime=DateBuilder.nextGivenSecondDate(null,5);//每分钟
4、以5秒为单位,当前时间下个5秒开始DatestartTime=evenMinuteDate(newDate());//当前时间下一分钟开始DatestartTime=futureDate(5,IntervalUnit.SECOND);//当前时间加5秒开始DatestartTime=futureDate(5,IntervalUnit.MINUTE);//当前时间加5分钟开始//IntervalUnit的属性有(SECOND,MINUTE,HOUR,DAY,WEEK,MONTH,YEAR)(4).新建任务job并设置--执
5、行对象SimpleJob.class中execute()方法JobDetailjob=newJob(SimpleJob.class).withIdentity("job1","group1").build();(5)新建触发器并设置//1.触发一次atstartTimeSimpleTriggertrigger=(SimpleTrigger)newTrigger().withIdentity("trigger1","tgroup1")//设置触发器(名称,组名)--全名.startAt(startTime)//设置开始时间
6、.build();ft=sched.scheduleJob(job,trigger);//2.先触发1次atstartTime,再重复触发10次,1次/10秒。如果10次内调度schedule关闭,也将提前终止。job=newJob(SimpleJob.class).withIdentity("job2","group1").build();trigger=newTrigger().withIdentity("trigger2","tgroup1").startAt(startTime).withSchedule(sim
7、pleSchedule().withIntervalInSeconds(10)//一次/10s.withRepeatCount(10))//重复触发共10次.build();ft=sched.scheduleJob(job,trigger);//3.先触发1次atstartTime,再重复一直触发直到调度schedule关闭,1次/30秒。job=newJob(SimpleJob.class).withIdentity("job3","group1").build();trigger=newTrigger().withI
8、dentity("trigger3","tgroup1").startAt(startTime).withSchedule(simpleSchedule().withIntervalInSeconds(30).repeatForever())//一直重复触发.build();ft=sched.scheduleJob(