我正在使用石英计划。在方法1中,我正在初始化我的日程表
Scheduler scheduler = new StdSchedulerFactory().getScheduler();
scheduler.scheduleJob(someJob,someTrigger);
如果我做方法2
Scheduler scheduler = new StdSchedulerFactory().getScheduler();
以上对调度工厂的调用是否会返回我在方法1中创建的相同实例,或者它是否会返回另一个实例,然后我需要链接所有作业并触发它。
答案 0 :(得分:1)
由于您要创建2个工厂,因此他们不会返回相同的调度程序。如果要使用相同的调度程序,则应使用单个工厂。
如果您使用单个StdSchedulerFactory
,则调度程序(如果存在)将在未关闭的情况下重复使用:
public Scheduler getScheduler() throws SchedulerException {
if (cfg == null) {
initialize();
}
SchedulerRepository schedRep = SchedulerRepository.getInstance();
Scheduler sched = schedRep.lookup(getSchedulerName());
if (sched != null) {
if (sched.isShutdown()) {
schedRep.remove(getSchedulerName());
} else {
return sched;
}
}
sched = instantiate();
return sched;
}