xxl-job源码分析
1 调度中心API服务 1、任务结果回调服务; 2、执行器注册服务; 3、执行器注册摘除服务; 4、触发任务单次执行服务,支持任务根据业务事件触发; API暴露代码:com.xxl.job.admin.controller.JobApiController.java API服务位置:com.xxl.job.core.biz.AdminBiz.java 通过请求参数匹配对应方法反射执行后把结果返回给客户端,见代码com.xxl.rpc.remoting.provider.XxlRpcProviderFactoryinvokeService方法invokeService 2 任务注册/ 执行器 注册 任务注册以 "执行器" 为最小粒度进行注册; 每个任务通过其绑定的执行器可感知对应的执行器机器列表;注册表: 见"XXL_JOB_QRTZ_TRIGGER_REGISTRY"表。 "执行器" 注册代码见com.xxl.job.core.thread.ExecutorRegistryThread方法start,在 "执行器" 启动时通过远程调用 com.xxl.job.core.biz.AdminBiz 方法注册。 "执行器" 在进行任务注册时将会周期性维护一条注册记录,即机器地址和AppName的绑定关系; "调度中心" 从而可以动态感知每个AppName在线的机器列表; 执行器注册: