xxl-job-admin调度中心启动过程
本文主要总结xxl-job-admin在启动的过程中做了什么准备工作。
1. 入口类 XxlJobAdminConfig
该类的主要作用:
- 加载xxl-job-admin的相关配置;
- 创建
XxlJobScheduler,执行XxlJobScheduler的init方法。

特殊的配置项: - 快慢线程池的大小不能小于指定的值
- 日志记录(xxl-job-log,并非服务运行日志)保留时间不得小于7天,否则不开启日志自动清理。

2. XxlJobScheduler
该类负责启动xxl-job-admin的核心后台线程,这些线程都是守护线程。
- 初始化国际化相关配置(忽略);
JobTriggerPoolHelper:初始化快慢线程池;JobRegistryHelper:初始化执行器注册线程池;开启执行器监控线程,定时剔除心跳异常的执行器;JobFailMonitorHelper:开启任务失败监控线程,发送告警;JobCompleteHelper:初始化任务回调线程池;开启任务结果丢失处理线程;JobLogReportHelper:开启报表处理线程;JobScheduleHelper:开启任务调度线程,开启时间轮线程;
public void init() throws Exception {
// init i18n
initI18n();
// admin trigger pool start
JobTriggerPoolHelper.toStart();
// admin registry monitor run
JobRegistryHelper.getInstance().start();
// admin fail-monitor run
JobFailMonitorHelper.getInstance().start();
// admin lose-monitor run ( depend on JobTriggerPoolHelper )
JobCompleteHelper.getInstance().start();
// admin log report start
JobLogReportHelper.getInstance().start();
// start-schedule ( depend on JobTriggerPoolHelper )
JobScheduleHelper.getInstance().start();
logger.info(">>>>>>>>> init xxl-job admin success.");
}
3. JobTriggerPoolHelper
在xxl-job-admin启动时,该类负责创建快慢线程池
// fast/slow thread pool
private ThreadPoolExecutor fastTriggerPool = null;
private ThreadPoolExecutor slowTriggerPool = null;
public void start(){
fastTriggerPool = new ThreadPoolExecutor(
10,
XxlJobAdminConfig.getAdminConfig().getTriggerPoolFastMax(),// 200
60L,
TimeUnit.SECONDS,
new LinkedBlockingQueue<Runnable>(1000),
new ThreadFactory() {
@Override
public Thread newThread(Runnable r) {
return new Thread(r, "xxl-job, admin JobTriggerPoolHelper-fastTriggerPool-" + r.hashCode());
}
});
slowTriggerPool = new ThreadPoolExecutor(
10,
XxlJobAdminConfig.getAdminConfig().getTriggerPoolSlowMax(),// 100
60L,
TimeUnit.SECONDS,
new LinkedBlockingQueue<Runnable>(2000),
new ThreadFactory() {
@Override
public Thread newThread(Runnable r) {
return new Thread(r, "xxl-job, admin JobTriggerPoolHelper-slowTriggerPool-" + r.hashCode());
}
});
}
1395

被折叠的 条评论
为什么被折叠?



