2

仕事のスケジューリングに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();
        }

これについて私を助けてください。私の側から他に何か必要な場合はお知らせください。

4

1 に答える 1