我使用 Quartz 的方式如下:
schedulerFactory = new StdSchedulerFactory();
scheduler = schedulerFactory.getScheduler();
JobDetail startECMSJob = new JobDetail("startECMSJob", "group1", StartECMSJob.class);
Trigger trigger = TriggerUtils.makeMinutelyTrigger(30);
trigger.setName("TriggersGroup1");
trigger.setGroup("group1");
scheduler.scheduleJob(startECMSJob, trigger);
scheduler.start();
问题是 Quartz 在部署时立即启动。我确实希望它在部署后仅 30 分钟就启动。 当我重新接收它时,同样的事情。我不希望它在重新安排时立即开始。
重新安排代码:
//JobDetail startECMSJob = new JobDetail("startECMSJob", "group1", StartECMSJob.class);
JobDetail jobDetail=jobContext.getJobDetail();
Trigger trigger = TriggerUtils.makeSecondlyTrigger(30);
trigger.setName("aa");
trigger.setGroup("group1");
trigger.setJobName(jobContext.getJobDetail().getName());
trigger.setJobGroup(jobContext.getJobDetail().getGroup());
Scheduler scheduler = jobContext.getScheduler();
scheduler.rescheduleJob("TriggersGroup1", "group1", trigger);
知道如何选择第一个触发器吗? 谢谢, 射线。
最佳答案
trigger.setStartTime(new Date(System.currentTimeMillis() + 30 * 60 * 1000));
关于java - 在第一个计划中禁用 Quartz 启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5001285/