scheduler 基本原理

时间:2023-03-09 02:05:30
scheduler 基本原理

  Quartz 任务调度的核心元素是 scheduler, trigger 和 job,其中 trigger 和 job 是任务调度的元数据, scheduler 是实际执行调度的控制器。

1.scheduler

  scheduler 由 scheduler 工厂创建:DirectSchedulerFactory 或者 StdSchedulerFactory。

  第二种工厂 StdSchedulerFactory 使用较多,因为 DirectSchedulerFactory 使用起来不够方便,需要作许多详细的手工编码设置。

  Scheduler 主要有三种:RemoteMBeanScheduler, RemoteScheduler 和 StdScheduler。现在好像又多了一种。

  scheduler 基本原理

2.两种Factory

  scheduler 基本原理

3.返回值

    /**
* <p>
* Returns a handle to the Scheduler produced by this factory.
* </p>
*
* <p>
* If one of the <code>initialize</code> methods has not be previously
* called, then the default (no-arg) <code>initialize()</code> method
* will be called by this method.
* </p>
*/
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;
}

4.主要的Scheduler

  scheduler 基本原理