【源码分析】Elastic-Job源码分析之JobScheduler类分析

本文深入分析Elastic-Job核心类JobScheduler,涵盖构造器、初始化过程,包括createScheduler、createJobDetail、registerJob、registerStartUpInfo和scheduleJob等关键步骤。详细解释了每个步骤的作用,如创建调度器、任务详情、注册作业及调度作业,揭示了Elastic-Job如何与Quartz、Zookeeper交互以及作业监听和持久化的实现。
摘要由CSDN通过智能技术生成

JobScheduler这个类是EJ中比较核心的一个类,我们现在开始解析这个类。

一、构造器

首先我们看一下JobScheduler的几个构造器。

    private JobScheduler(final CoordinatorRegistryCenter regCenter, final LiteJobConfiguration liteJobConfig, final JobEventBus jobEventBus, final ElasticJobListener... elasticJobListeners) {
        JobRegistry.getInstance().addJobInstance(liteJobConfig.getJobName(), new JobInstance());
        this.liteJobConfig = liteJobConfig;
        this.regCenter = regCenter;
        List<ElasticJobListener> elasticJobListenerList = Arrays.asList(elasticJobListeners);
        setGuaranteeServiceForElasticJobListeners(regCenter, elasticJobListenerList);
        schedulerFacade = new SchedulerFacade(regCenter, liteJobConfig.getJobName(), elasticJobListenerList);
        jobFacade = new LiteJobFacade(regCenter, liteJobConfig.getJobName(), Arrays.asList(elasticJobListeners), jobEventBus);
    }

这个构造器比较清晰,第一个参数regCenter表示的是注册中心,这里我们用的是zk作为我们的注册中心,所以这块的配置我们一般从xml配置文件中读取即可。我们按照官方文档配置即可。

    <!--配置作业注册中心 -->
    <reg:zookeeper id="regCenter" server-lists="ip1:2181,ip2:2181"
                   namespace="your-job-name" base-sleep-time-milliseconds="1000" max-sleep-time-milliseconds="3000"
                   max-retries="3"/>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值