我必须安排每天在特定的时间发送邮件,我希望有一个有经验的意见。我想知道的是,如果这样做是正确的(最好的)方式,使用Quartz Scheduler:
#代码
public static void startScheduler(){
SchedulerFactory sf = new StdSchedulerFactory();
try {
Scheduler sched = sf.getScheduler();
JobDetail job = newJob(SendDocumentsMailJob.class)
.withIdentity("sendMailJob", "group1")
.build();
Date startTime = todayAt(6,0,0);
SimpleTrigger trigger = newTrigger()
.withIdentity("everyDayAt6oClock", "group1")
.startAt(startTime)
.withSchedule(simpleSchedule()
.withIntervalInHours(24) // is this correct?
.repeatForever())
.build();
sched.scheduleJob(job,trigger);
sched.start();
System.out.println("Starting at: "+new Date());
System.out.println("Next trigger fires at: "+startTime);
// sched.shutdown(); // is this correct?
}catch (SchedulerException ex) { ex.printStackTrace();}
//catch (InterruptedException ex) { ex.printStackTrace();}
catch (Exception ex) { ex.printStackTrace();}
}我没有找到任何方法来设置每天的间隔,所以我使用了:withIntervalInHours(24),,对吗?
调度程序将无限期地运行,所以我不必调用关机(),对吗?
谢谢,
发布于 2013-06-25 21:18:38
因为您是在web服务器上运行,所以这确实是一种可行的方法。不要调用关闭,因为这将停止触发触发。
https://stackoverflow.com/questions/17307201
复制相似问题