毎日決まった時間にメールを送信するようにスケジュールを組まなければならないのですが、経験者の意見が欲しいです。私が知りたいのは、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)、それは正しいですか?
スケジューラは無期限に実行されるため、 shutdown()を呼び出す必要はありませんよね?
ありがとう、