1
我必须安排邮件在特定时间每天发送,我想有一个有经验的意见。 我想知道的,是如果这是正确的(最好的)的方式做这样的事情,使用Quartz调度:这是安排日常工作的正确方法吗?
#代码
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),是否正确?
调度程序将无限期地运行,所以我不必致电shutdown(),对吗?
感谢,
你在什么环境下运行它(os/server) – aglassman
它将运行在CentOS 5.9./ Java 1.7./ Glassfish 3.1.2.2上。网络服务器。 –
为什么不使用本地os调度程序?我认为在运行于服务器环境中运行类似代理程序的模块不是好主意 – 2013-06-25 21:21:37