netty在xxl-job中的使用分析
创始人
2024-05-27 08:54:03
0

xxl-job版本:2.3.0

netty版本:netty-all-4.1.63.final

一、基于spring容器

客户端启动流程:

客户端如springboot应用引入xxl-core的jar包后,启动springboot过程中会调用xxl-core中都方法运行一个netty服务端、默认端口9999(每个微服务都是netty服务端);

在运行9999服务之前会通过扫描注解方式将所有的jobHandler注册到内存中;

com.xxl.job.core.executor.impl.XxlJobSpringExecutor#afterSingletonsInstantiated//执行器中调用父类的初始化服务器方法

com.xxl.job.core.executor.impl.XxlJobSpringExecutor#initJobHandlerMethodRepository//启动9999服务前把job注册到admin

com.xxl.job.core.executor.XxlJobExecutor#initEmbedServer

com.xxl.job.core.server.EmbedServer#start//创建netty服务

com/xxl/job/core/server/EmbedServer.java:79 //绑定端口

解析注解并注册job handler:

com.xxl.job.core.executor.impl.XxlJobSpringExecutor#initJobHandlerMethodRepository

xxl-admin服务端启动及调用客户端流程:

admin启动流程同springboot启动流程;

启动过程中组件XxlJobAdminConfig实现spring中的接口InitializingBean.afterPropertiesSet(),完成配置加载后,就开始启动admin的scheduler调度器的运行;

com.xxl.job.admin.core.conf.XxlJobAdminConfig#afterPropertiesSet

com.xxl.job.admin.core.scheduler.XxlJobScheduler#init

扫描job_info表并触发job调用:

com/xxl/job/admin/core/thread/JobScheduleHelper.java:94

com.xxl.job.admin.core.trigger.XxlJobTrigger#trigger

com.xxl.job.admin.core.trigger.XxlJobTrigger#processTrigger

com.xxl.job.admin.core.trigger.XxlJobTrigger#runExecutor  //调用xxl客户端执行

com.xxl.job.core.util.XxlJobRemotingUtil#postBody

java.net.URL#openConnection() //最后使用HttpURLConnection完成链接的调用???可以基于NettyClient实现job的触发(elastic-job也没有使用nettyclient,而是使用goole的eventbus)

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...