xxljob默认登录_修炼xxl-job之调度中心—初始化失败任务管理中心

调度中心启动时主要执行了XxlJobScheduler.init()方法,该方法中有六个初始化动作,这篇文章来分析第三个初始化动作:初始化失败任务管理中心。其关键调用代码为:JobFailMonitorHelper.getInstance().start();

源码分析

来看com.xxl.job.admin.core.thread.JobFailMonitorHelper类的源码。

成员变量

先看类的主要成员变量:

私有slf4j日志对象;

私有静态JobFailMonitorHelper类实例对象:instance;

私有成员变量:Thread类对象monitorThread;

私有布尔变量toStop,初始化为false。

成员方法实例instance的公有静态访问器getInstance();

公有start()方法;

公有toStop()方法。

私有failAlarm()方法,用于失败告警。

其中公有静态访问器getInstance()和私有静态JobFailMonitorHelper类实例对象instance共同形成了饿汉式单例模式。

start()方法解析

可以发现该类的主要实现是在start()方法中,先折叠一些实现我们来看下整体。

给私有成员变量Thread类对象monitorThread赋值,即创建一个子线程:实现Runnable接口并重写其run方法;

将其设置为守护线程;

设置线程名为:xxl-job, admin JobFailMonitorHelper;

调用线程的start()方法启动线程。

这其实是一个守护线程。

我们继续来看子线程重写的run方法的具体实现:

看起来实现有点长,我们逐渐将其拆解来分析。

1while (!toStop) {

循环,判断的条件为私

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值