quartz框架(三)-调度器创建之实例化

调度器创建之实例化

博主的前一篇博文主要介绍了schedule创建时的配置文件加载,下面博主将介绍一下scheduler的instantiate方法。

代码回顾
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;
    }
instantiate方法

instantiate方法很长,这里就不贴上源码了。通过查看源码可知,quartz的instantiate方法主要就是根据之前加载好的配置文件来创建出scheduler需要用到的一些对象。

主要对象
  1. Job,业务逻辑类需要时间的接口
  2. JobStore,主要用于存储Job和Trigger。
  3. JobFactory,job实例化工厂。
  4. ThreadPool,主要用于分配任务给具体的线程进行执行。
  5. QuartzSchedulerThread,管理者线程。
  6. WorkThread,工作者线程。
  7. DBConnectionManager,数据库连接管理器。
  8. ThreadExecutor,线程执行器。
  9. SchedulerPlugin,调度器插件。
  10. JobListener,任务监听器。
  11. Trigger,触发器
  12. Schedule,时间表
  13. TriggerListerner,触发器监听器。
  14. JobRunShellFactory,jobRunShell的工厂。
  15. JobRunShell,实现了Runnale接口,会调用对应实例化的job的execute方法。

博主微信公众号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值