仕事のスケジューリングにQuartzを使用しています。仕事は、毎日午前 11 時などの特定の時間にリマインダー メールを送信することです。リマインダー メールは送信できますが、同時に複数のメールが送信されるという問題があります。1回のリマインダーリクエストに対して8通のメールを送信することもあれば、5通のメールを送信することもあります。同じジョブが複数回実行されているようです。
以下は私のコードです、
JobDetail job = JobBuilder.newJob(LmsJob.class)
.withIdentity("lmsJob", org.quartz.Scheduler.DEFAULT_GROUP)
.build();
JobDataMap map = job.getJobDataMap();
map.put("creditMonthlyLeaveBalance", creditMonthlyLeaveBalance);
map.put("dailyUpdationTask", dailyUpdation);
map.put("monthlyPayrollGenerationTask",
monthlyPayrollGenerationTask);
map.put("yearlyMaintenanceOfLeaveBalance",
yearlyMaintenanceOfLeaveBalance);
map.put("emailNotifier", emailNotifier);
try {
CronTrigger trigger = TriggerBuilder
.newTrigger()
.withIdentity("lmsJob", "lmsJobGroup")
.forJob(job)
.startAt(new Date(System.currentTimeMillis()))
.withSchedule(
CronScheduleBuilder
.cronSchedule("00 00 00 ? * *")).build();
scheduler.scheduleJob(job, trigger);
scheduler.start();
// scheduler.shutdown();
} catch (ParseException e) {
e.printStackTrace();
}
これについて私を助けてください。私の側から他に何か必要な場合はお知らせください。