Spring集成XxlJob核心初始化类,对应版本:2.4.1-SNAPSHOT

XxlJobSpringExecutor: 继承了XxlJobExecutor父类,实现了ApplicationContextAware,SmartInitializingSingleton,DisposableBean接口
在Spring容器启动后根据是否是单例Bean来执行SmartInitializingSingleton接口的afterSingletonsInstantiated()方法调用
1、从Spring容器中获取所有的BeanName集合,通过BeanName找到对应的Bean的所有标注了 @XxlJob 注解的方法,将其封装为 MethodJobHandler 类放到XxlJob jobHandlerRepository容器中
   @XxlJob 注解: value(): jobhandler name;init(): 初始化handler,在运行handler方法前调用;destroy(): 在handler方法运行结束后进行调用
2、GlueFactory.refreshInstance(1): Bean的属性注入处理
3、XxlJobFileAppender.initLogPath(logPath): 应用初始化日志文件夹,可以通过 xxl.job.executor.logpath 配置进行修改
4、initAdminBizList(adminAddresses, accessToken): 根据客户端配置的链接XxlJob-admin应用的地址列表和接口访问令牌进行AdminBizClient类初始化,可以通过 xxl.job.admin.addresses 配置进行修改,可以配置多个地址,使用英文逗号进行分割,单机器的资源是有限的,可以通过分片策略来把任务发送到指定范围的机器上进行任务调度
5、JobLogFileCleanThread.getInstance().start(logRetentionDays): 启动磁盘日志文件清理线程,可以通过配置 xxl.job.executor.logretentiondays 配置来调整,小于3天任务直接不启动,配置大于等于3天时,会一天执行一次,清理超过配置天数日期的日志文件
6、TriggerCallbackThread.getInstance().start(): 任务执行结果回调线程,通过远程通信,将调用结果同步到xxljob-admin应用上, 必须满足AdminBizList是有数据,两个线程,一个从队列中获取所有的数据进行回调,另一个是回调失败重试线程
7、initEmbedServer(address, ip, port, appname, accessToken): 启动远程通信服务,底层使用netty进行服务通信,EmbedHttpServerHandler 使用单独的线程池来处理请求信息,目前请求仅支持POST请求,并且只处理 /beat:心跳 /idleBeat:空闲检测 /run:执行任务 /kill:结束任务 /log:记录日志 这几种请求类型
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/79499.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TMS320F280049最小系统原理图

TMS320F280049最小系统原理图 1.概述2. 典型的 F2800x 系统方框图3. 最小系统原理图设计3.1 封装和器件决策3.2 电源及去耦电容3.3 晶振3.4 GPIO3.5 ADC模块3.6 JTAG 最近做了个新车规项目,第一次接触TMS320F280049,记录一下,最小系统原理图设…

PostgreSQL 事务并发锁

文章目录 PostgreSQL 事务大家都知道的 ACID事务的基本使用保存点 PostgreSQL 并发并发问题MVCC PostgreSQL 锁机制表锁行锁 总结 PostgreSQL 事务 大家都知道的 ACID 在日常操作中,对于一组相关操作,通常要求要么都成功,要么都失败。在关系…

Linux下运行Jmeter压测

一、在Linux服务器先安装SDK 1、先从官网下载jdk1.8.0_131.tar.gz,再从本地上传到Linux服务器 2、解压:tar -xzf jdk1.8.0_131.tar.gz,生成文件夹 jdk1.8.0_131 3、在/usr/目录下创建java文件夹,再将 jdk1.8.0_131目录移动到/u…

长胜证券:十大流通股东占比例高好还是低好?

近年来,跟着我国本钱商场的不断发展,越来越多的投资者开始了解和关注股东占比这个目标。而在股东占比中,十大流转股东的持股份额是一个重要的目标。可是,关于投资者来说,十大流转股东占比是高好还是低好?本…

微信小程序+echart实现点亮旅游地图

背景 最近看抖音有个很火的特效就是点亮地图,去过哪些地方,于是乎自己也想做一个,结合自己之前做的以家庭为单位的小程序,可以考虑做一个家庭一起点亮地图的功能。 效果图 过程 1,首先就是得去下微信小程序适配的ec…

牛客: BM4 合并两个排序的链表

牛客: BM4 合并两个排序的链表 文章目录 牛客: BM4 合并两个排序的链表题目描述题解思路题解代码 题目描述 题解思路 以链表一为主链表,遍历两条链表 若当前链表二的节点val小于当前链表一的下一个节点val,则将链表链表二的该节点连到链表一的节点的下一个,链表一的当前节点往…

智慧工地:实现作业区域安全管控

智慧工地是围绕工程现场人、机、料、法、环及施工过程中质量、安全、进度、成本等各项数据满足工地多角色、多视角的有效监管,实现工程建设管理的降本增效。 建设工程安全文明施工与质量提升,全方位的监测施工人员、各类器械设备、消防安全隐患,并提前对风险进行预警…

CANoe-Model Editor无法修改ARXML文件的问题、E2E在SOME/IP通信中的使用问题

1、Model Editor无法修改ARXML文件的问题 在CANoe 15软件版本中,Communication Setup导入arxml文件后,可以在model editor中打开arxml并修改配置。关闭model editor后再打开,可以看到修改的配置被保存了。 但是,当我把arxml文件从Communication Setup中移除后,再导入。此…

MacBook苹果电脑重装、降级系统

1、下载balenaEtcher镜像启动盘制作工具 https://tails.net/etcher/balenaEtcher-portable.exe 2、选择从文件烧录选择下载好的Mac 镜像文件 百度网盘 请输入提取码(Mac OS 10.10-12版本镜像文件) 第二步选择目标磁盘,这里需要准备一块1…

Dockerfile解析

Dockerfile是什么 Dockerfile是用来构建Docker镜像的文本文件,是由一条条构建镜像所需的指令和参数构成的脚本。 概述 官网 https://docs.docker.com/engine/reference/builder/ 构建三步骤 编写Dockerfile文件docker build命令构建镜像:docker bui…

【教程】IDEA操作GIT

不小心推送代码之后 进行回退 1 找到需要回退的记录 比如要回退13分钟之前提交的代码 选中 右键还原提交 最后再重新推送被还原的提交 就可以了

2327. 知道秘密的人数;1722. 执行交换操作后的最小汉明距离;2537. 统计好子数组的数目

2327. 知道秘密的人数 核心思想:动态规划,每天的人可以分为三种,可分享秘密的人,不可分享秘密的人,忘记秘密的人。定义f[i]为第i天可分享秘密的人,那么第(idelay ,iforget)天,会增加f[i]个可分…

某ERP系统存在RCE漏洞

文章目录 前言声明一、产品简介二、影响资产三、资产发现四、漏洞测试五、修复方案前言 企望制造纸箱行业ERP系统存在RCE漏洞,攻击者可通过特定Payload注入获取敏感信息。 声明 请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直…

性能测试之压力测试

文章目录 一.基本介绍二.性能指标三.下载安装JMeter1.下载安装包2.启动JMeter 四.使用JMeter1.模拟用户请求2.填写测试地址3.接收测试结果4.结果解释 一.基本介绍 压力测试考察当前软硬件条件下系统所能承受的最大负荷并找到系统瓶颈所在。压测是为了系统在线上的处理能力和稳定…

Kubernetes学习篇之组件

Kubernetes学习篇之组件 文章目录 Kubernetes学习篇之组件前言概述控制平面组件(Control Plane Components)kube-apiserveretcdkube-schedulerkube-controller-managercloud-controller-manager Node 组件kubeletkube-proxy容器运行时(Container Runtime) 插件(Addons)DNSWeb界…

SpringBoot基于Netty实现对接硬件,接受硬件报文

主要项目框架采用的事若依的框架&#xff0c;就不做多介绍 下面主要贴代码和部分注释 在pom.xml文件中引入netty包 <!--netty--><dependency><groupId>io.netty</groupId><artifactId>netty-all</artifactId><version>4.1.53.Fina…

SpringSecurity学习

1.认证 密码校验用户 密码加密存储 Configuration public class SecurityConfig extends WebSecurityConfigurerAdapter {Beanpublic PasswordEncoder passwordEncoder(){return new BCryptPasswordEncoder();}} 我们没有以上代码配置&#xff0c;默认明文存储, {id}password…

selenium自动化chrome

from selenium import webdriver from selenium.common.exceptions import NoSuchElementException from selenium.webdriver.common.by import By from selenium.webdriver.chrome.options import Options from fake_useragent import UserAgent# 启动 Chrome 浏览器 chrome_o…

数据清洗:数据挖掘的前期准备工作

⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ &#x1f434;作者&#xff1a;秋无之地 &#x1f434;简介&#xff1a;CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作&#xff0c;主要擅长领域有&#xff1a;爬虫、后端、大数据…

Nacos、ZooKeeper和Dubbo的区别

Nacos、ZooKeeper和Dubbo是三个不同的分布式系统组件&#xff0c;它们之间有以下几点区别&#xff1a; 功能定位&#xff1a;Nacos主要提供服务发现、配置管理和服务治理等功能&#xff0c;而ZooKeeper主要是分布式协调服务&#xff0c;提供了分布式锁、分布式队列等原语&#…