XXL-JOB源码研究(1)---version 2.1.2

core:

XxlJobExecutor:
保存ip 端口 执行器 token 等等信息。完成RpcProvider 启动,销毁等等相关操作。

XxlJobSpringExecutor: 继承XxlJobExecutor
spring版本使用,启动后初始化方法,遍历所有方法查找@XxlJob 实例化XxlJob
初始化的过程中可以定义initMethod 和 destroyMethod方法

最后创建一个MethodJobHandler的对象调用XxlJobExecutor的registJobHandler方法 将对象放入jobHandlerRepository这个map中
数据填充后 最终调用到XxlRpcProviderFactory类中的start方法创建 NettyServer,设置启动停止方法等等。

ExecutorBizImpl在NettyServer创建前加入,包含idleBeat、kill、run、log等方法。 所以执行器才是server?
其中 run 方法中将jobHandler注册到jobThreadRepository中,然后调用pushTriggerQueue方法 将任务id加入triggerQueue队列中

JobThread  未完待续……


猜你喜欢

转载自www.cnblogs.com/windghost/p/12668851.html