Xxl-Job - XxlJobExecutor执行流程
XxlJobExecutor.start()
initAdminBizList -> 执行器与 admin 通信 client->采用http
JobLogFileCleanThread.start
TriggerCallbackThread.start
initEmbedServer()->执行器自己作为 http-server,ExecutorBizImpl 处理 admin 发送给 执行器的
EmbedServer
/beat
/idleBeat
/run
+ 加载 jobHandler
+ 为每个JobId都创建JobThread,并放入 map缓存,并start()
/kill
/log
JobThread
+ 从 triggerQueue 中 不停取 triggerParam 参数
+ 调用 IJobHandler.execute()方法
+ 如果线程停止后 triggerQueue 不为空,则取出 放在 TriggerCallbackThread线程中
TriggerCallbackThread
+ 向 callBackQueue 队列取 HandleCallbackParam
+ 调用 admin的/api/callback,通知admin任务已经取消
XxlJobSpringExecutor.afterSingletonsInstantiated()
initJobHandlerMethodRepository()->处理 @XXlJob 注解方法的任务,注册注解xxlJob
将@xxlJob注解的方法封装成 MethodJobHandler