我需要一些帮助。我正在使用Quartz Scheduling并配置了一个CronTrigger,每晚10点运行。我正在使用JDBCJobStore来利用群集。
这项工作每晚10点运行,但我希望能够以编程方式调用该工作,如果需要的话可以动态运行,但我仍然希望利用群集(即我不希望多个人在一起)能够运行这份工作)。
有没有办法从商店获取CronJob并在仍然利用群集选项的同时运行它?例如,现在,唤醒作业的第一台服务器运行,当集群中的另一台服务器唤醒时,如果作业已经启动,则它不会运行。
我能够像这样做,但它从一个单独的工作开始......这不是我想要的。
scheduler = StdSchedulerFactory.getDefaultScheduler();
scheduler.start();
/ Create the JobDetail
JobDetail jobDetail = new JobDetail("cronTrigger", Scheduler.DEFAULT_GROUP, MyCronJob.class);
// Create a trigger that fires once right away
Trigger trigger = TriggerUtils.makeImmediateTrigger(0, 0);
trigger.setName("FireOnceNowTrigger");
scheduler.scheduleJob(jobDetail, trigger);
答案 0 :(得分:0)
假设您知道已存储的作业名称(“storedJob”),这对您有用吗?
Trigger trigger = TriggerUtils.makeImmediateTrigger(0, 0);
trigger.setName("FireOnceNowTrigger");
trigger.setJobName("storedJob");
trigger.setJobGroup(Scheduler.DEFAULT_GROUP);
scheduler.scheduleJob(trigger);