quartz启动定时任务会立即执行一次的问题?

来源:10-10 Simple触发器

他门说这就是人生

2020-05-13

//                开启一个定时任务,如果两天后用户没有手动关闭这次咨询,则自动关闭
                JobDataMap jobDataMap = new JobDataMap();
                jobDataMap.put("consultingId", consultingId);
                jobDataMap.put("consultationService", consultationService);
                JobDetail detail = JobBuilder.newJob(ManualCancelConsultationTask.class)
                        .withIdentity("job-" + consultingId, "group-" + consultingId)
                        .usingJobData(jobDataMap)
                        .build();
                Trigger trigger = TriggerBuilder.newTrigger()
                        .forJob(detail)
                        .withSchedule(
                                SimpleScheduleBuilder
                                        .simpleSchedule()
                                        .withIntervalInSeconds(10)
                                        .withRepeatCount(1)
                        ).build();
                scheduler.scheduleJob(detail, trigger);
                scheduler.start();


代码如上,我想让定时任务只执行一次,10秒后执行。但scheduler.start()后执行了一次,10秒后又执行了一次。

写回答

1回答

凌波微步

2020-05-13

可以使用startAt()方法,计算好执行的时间。

0
3
他门说这就是人生
回复
凌波微步
好的,谢谢。
2020-05-13
共3条回复

Elastic-job + Quartz精讲 实现企业级定时任务

经典电商案例,基础入门+框架整合+Java高级玩法+定时任务实现。

378 学习 · 63 问题

查看课程