2012-02-29 80 views
-3

我有以下要求。石英调度程序-HELP需要

我必须在开始和结束日期之间启动3-4个调度程序,并且这些调度程序的时间安排为上午9点,下午1点,下午5点,晚上10点。这些开始和结束日期有所不同。例如:我必须在1月5日至10日之间启动3个调度程序,另一个可能是1月13日至17日。因此这些日期可能会有所不同。但是,这些日期的时间安排如上所述。但唯一的问题是我可能不得不在上午9点和下午1点安排工作,并且只能在另一天的下午10点安排工作等等。所以次数有所不同。

任何人都可以请建议我可以使用哪些工作和触发器。是否有可能为此设置一个调度程序?

+3

*“紧急帮助需要”* 1)不要向我们倾诉! 2)寻求紧急帮助,紧急寻求顾问(并支付他们的费用以符合您的紧急情况)。 – 2012-02-29 07:55:37

+0

@Preethi:如果提供的答案已经解决了您的问题,最好接受答案,以便其他人会了解解决方案。 – 2012-03-02 06:18:40

回答

3

这应该足以让你开始:

import org.quartz.Job; 
import org.quartz.JobDetail; 
import org.quartz.Scheduler; 
import org.quartz.SchedulerException; 
import org.quartz.impl.triggers.AbstractTrigger; 

import java.util.Calendar; 

import static org.quartz.CronScheduleBuilder.cronSchedule; 
import static org.quartz.DateBuilder.dateOf; 
import static org.quartz.JobBuilder.newJob; 
import static org.quartz.TriggerBuilder.newTrigger; 

//... 

AbstractTrigger trigger = (AbstractTrigger) newTrigger() 
     .withSchedule(cronSchedule("0 0 9,13,17,22 * * ?")) 
     .build(); 
trigger.setStartTime(dateOf(0, 0, 0, 13, Calendar.JANUARY, 2012)); 
trigger.setEndTime(dateOf(0, 0, 0, 17, Calendar.JANUARY, 2012)); 

final JobDetail job = newJob(Job.class).build(); 

scheduler.scheduleJob(job, trigger); 

对于文档中有更正式的协商Lesson 6: CronTrigger

+0

感谢Tomasz Nurkiewicz! – Preethi 2012-02-29 08:12:59

+0

对不起,如果我不遵守任何规则。 – Preethi 2012-02-29 08:13:31

+0

我可以改变这只是为了调度程序只有一些时间吗?例如:对于一项工作,我必须安排上午9点和晚上10点,另一项工作需要安排在上午9点,下午1点和晚上10点,同样我也要安排很多工作,而且对于所有这些,开始和结束日期都会有所不同。 – Preethi 2012-02-29 08:18:15