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

2023-11-07

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:记录日志 这几种请求类型
 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring集成XxlJob核心初始化类,对应版本:2.4.1-SNAPSHOT 的相关文章

  • Java:获取当前正在执行的Method对应的对象

    将当前正在执行的方法作为 Method 对象获取的最优雅的方法是什么 我的第一个明显的方法是在辅助类中使用静态方法 该方法将加载当前线程堆栈 获取正确的堆栈跟踪元素 并根据其信息构造 Method 元素 有没有更优雅的方法来实现这一目标 这
  • 如何防止在 CXF Web 服务客户端中生成 JAXBElement

    我正在尝试使用 CXF 创建一个 Web 服务客户端来使用 WCF Web 服务 当我使用 wsdl2java 时 它生成具有 JAXBElement 类型而不是 String 的对象 我读到有关使用 jaxb bindings xml 文
  • H264 字节流到图像文件

    第一次来这里所以要温柔 我已经在给定的 H 264 字节流上工作了几个星期 一般注意事项 字节流不是来自文件 它是从外部源实时提供给我的 字节流使用 Android 的媒体编解码器进行编码 当将流写入扩展名为 H264的文件时 VLC能够正
  • java中队列的实现

    在 Java 中实现队列是一个非常常见的面试问题 我在网上冲浪 看到了许多实现 他们做了一些奇特的事情 比如实现队列接口和编写自己的addLast and removeFirst 方法 我的问题是我不能使用LinkedList 类并使用其预
  • 从剪贴板获取图像 Awt 与 FX

    最近 我们的 Java FX 应用程序无法再从剪贴板读取图像 例如 用户在 Microsofts Paint 中选择图像的一部分并按复制 我不是在谈论复制的图像文件 它们工作得很好 我很确定它过去已经有效 但我仍然需要验证这一点 尽管如此
  • 空 EntityManager/EJB 注入 MDB

    我有一个消息驱动 bean MDB 部署到 WebLogic 12 1 3 我尝试使用 PersistenceContext 注释将实体管理器注入 MDB 但实体管理器为空 我还尝试注入一个简单的无状态会话 bean 它也是空的 但是 Me
  • 为什么一个线程会中断另一个线程[重复]

    这个问题在这里已经有答案了 在Java多线程应用程序中 我们处理InterruptedThreadException 如果另一个线程中断当前线程 则会抛出此异常 现在 当另一个线程知道它将导致异常时 它可能想要中断当前线程的原因是什么 很多
  • 此版本不符合 Google Play 64 位要求,添加库后仍然出现错误

    我正在 Play 商店上传一个视频编辑器应用程序 其中包含带有一些本机代码的库 所以我通过将其添加到 gradle 来使其兼容 64 位 ndk abiFilters armeabi v7a arm64 v8a x86 x86 64 添加了
  • Scala(或 Java)中泛型函数的特化

    是否可以在 Scala 中专门化泛型函数 或类 例如 我想编写一个将数据写入 ByteBuffer 的通用函数 def writeData T buffer ByteBuffer data T buffer put data 但由于 put
  • 更改 RowLayout SWT Java 中元素的顺序

    有没有办法更改在行布局中创建的元素的顺序 我想将其显示在元素中 首先显示 例如 如果我创建 element1 则 element2 element3 element4 我想看到的布局为 元素4 元素3 元素2 元素1 这意味着最后创建的元素
  • XSLT:我们可以使用abs值吗?

    我想知道在 XSLT 中我们是否可以使用 math abs 我在某处看到过这个 但它不起作用 我有类似的东西
  • java中wav文件转换为字节数组

    我的项目是 阿塞拜疆语音的语音识别 我必须编写一个程序来转换wav文件到字节数组 如何将音频文件转换为byte 基本上如第一个答案中的片段所描述 但不是BufferedInputStream use AudioSystem getAudio
  • 如何使用 SAX Java 解析器读取注释文本

    我只想使用 Java 中的 SAX 解析器读取 XML 文件中对象标记的注释 这是我的文件的摘要
  • JPA - 非主键字段上的 @OneToOne 关系不起作用

    我有一个 Spring Data JPA 后端 使用 Hibernate 作为 ORM 实现 这是模型 Person MailConfig id PK uid PK FK Person uid uid Entity
  • BoneCP 和 Derby - 如何正确关闭

    I have BoneCP CONNECTION POOL CONNECTION POOL getConfig setJdbcUrl jdbc derby database shutdown true Connection connecti
  • 条件查询:按计数排序

    我正在尝试执行一个标准查询 该查询返回 stackoverflow 中回答最多的问题 例如常见问题解答 一个问题包含多个答案 我正在尝试使用标准查询返回按每个问题的答案数排序的回答最多的问题 任何人都知道我应该在 hibernate cri
  • C/C++ 通过 Android NDK 在 JNI 中看不到 Java 方法

    我正在尝试从使用 NDK 构建的 C 类文件调用 Java 方法 它不断抛出常见的 未找到非静态方法 错误并导致整个 Android 应用程序崩溃 下面的代码片段 有些东西可能不需要 但我按原样保留它们 因为焦点 问题在于refreshJN
  • Java:基于 Web 的应用程序中的单例类实例

    我在 Web Application 中有这个 Singleton 类 public class MyDAO private static MyDAO instance private MyDAO public static MyDAO g
  • 编译时在代码中替换Java静态最终值?

    在java中 假设我有以下内容 fileA java class A public static final int SIZE 100 然后在另一个文件中我使用这个值 fileB java import A class b Object t
  • RecyclerView 不调用 onCreateViewHolder 或 onBindView

    没有收到任何错误 所有数据似乎都有效 由于某种原因 没有调用与视图相关的方法 我已确定以下事项 getItemCount 是唯一被调用的适配器方法 并且返回一个正整数值 我知道这将是你们将要查看的区域 构造函数正在被调用 成员变量有效 Pa

随机推荐

  • android dialog对话框,Android Dialog对话框详解

    废话不多说了 直接给大家贴代码了 布局文件xml xmlns tools http schemas android com tools android layout width match parent android layout hei
  • Windows下使用命令行登陆、操作MYSQL5.7数据库

    一 运行数据库 1 启动服务 net start mysql 2 连接数据库 mysql h IP地址 u 数据库 p mysql u 数据库 p 如 mysql u root p mysql h127 0 0 1 u root p 二 查
  • IntelliJ IDEA提示Unable to resolve table ‘表名‘

    一 说明 我几乎看了CSDN所有大神的解答 尝试之后都无效 通过自己研究 终于解决此问题 遂在此记录 二 我的解决方案 在正常使用IntelliJ IDEA连接到数据库后 SQL语句提示Unable to resolve table 表名
  • 两个数字相加的代码

    内容 include
  • mac os x 使用外接摄像头

    参考 http bbs feng com read htm tid 2745586 html http www jb51 net os MAC 470090 html 1 打开macbook 自带程序Photo Booth 2 在左上工具条
  • Python3 CGI 编程

    什么是 CGI CGI 目前由 NCSA 维护 NCSA 定义 CGI 如下 CGI Common Gateway Interface 通用网关接口 它是一段程序 运行在服务器上如 HTTP服务器 提供同客户端 HTML 页面的接口 网页浏
  • Mysql子查询和联合(UNION)查询详解

    原文 http www 111cn net database mysql 47438 htm 在mysql中UNION查询是可以联合多个表 union只是mysql中联合查询的一个小点了 下面我来给大家介绍各种mysql中联合查询的语句 大
  • PS对白色过曝的区域建立选区,可先调整图像亮度对比度

    PS对白色过曝的区域建立选区 因为白色过薄 看不清边缘 解决方案 调整亮度和对比度 1 再选择边缘 就很方便了
  • 全新iPhone首发,结果“华为发布会”冲上热搜第一

    就离谱 苹果发iPhone 15 结果发着发着 华为发布会 冲上了热搜第一 哪怕是iPhone 15全系告别11年闪电接口改用USB C 经典静音键从Pro系列消失 这些库克 违背祖宗的决定 都没抢到更多热度 网友们第一时间倒是吐槽吐出了花
  • 提示“Web打印服务CLodop未安装启动”的各种原因和解决方法

    旧版提示 CLodop云打印服务 localhost本地 未安装启动 新版提示 Web打印服务CLodop未安装启动 点击这里下载执行安装 若此前已安装过 可点这里直接再次启动 成功后请刷新本页面 可能原因及现象及解决方法 原因1 没安装
  • 解决Moment格式化时间出现时区差的问题

    Moment格式化时间默认格式为当地时区的时间 如果格式化的结果与当地时间有差值 一般原因是 要格式化的时间带有时间标志 如 UTC GMT等 经过Moment格式化后 会变成时间标志所表示的时区的时间 此时 只需要改变时间偏移量即可 使用
  • iOS音视频—FFmepg应用-Android平台使用(NDK项目)

    iOS音视频 目录 新建NDK项目 1 编译 so动态库 2 新建在Android平台下的NDK项目 Android本身不支持C C 开发 NDK底层开发 需要我们进行配置 NDK 在Android平台下Google提供的支持C C 开发的
  • 测试学Python白话版(一)

    前言 测试人员转开发 Python是一个特别好的入门级编程语言 Python学起来相对容易 能做的事情也比较多 有了一定的基础之后 再学习其他语言也更加轻松 网上关于Python的教程很对 如果有时间完全可以自学 因为好多测试人员的基础较差
  • CCF-CSP 26次 第三题【角色授权】

    计算机软件能力认证考试系统 20分 include
  • 深度学习6-高级强化学习库

    高级强化学习库 使用高级库的动机 不要从头开始重新实现一切 PTAN库以及最重要的部分 将通过代码示例进行说明 针对CartPole上的DQN 使用PTAN库来实现 可以考虑的其他RL库 为什么使用强化学习库 RL十分灵活 并且很多现实生活
  • 如何实现侧边栏高亮?

    大家好 我是IT修真院深圳分院第九期的学员徐炜 一枚正直纯洁善良的前端程序员 今天给大家带来的是如何实现侧边栏高亮 一 背景介绍 侧边栏高亮是指选择侧边栏菜单时有一个样式效果 当刷新页面的时候 这个效果还在 侧边栏高亮有很多种实现方法 根据
  • 有趣的数据结构算法7——双向循环链表的实例应用

    有趣的数据结构算法7 双向循环链表的实例应用 问题复述 解题思路 实现代码 GITHUB下载连接 问题复述 要求实现用户输入一个数字改变26个字母的排列顺序 正常情况下26个字母的排列顺序是A B C D E F G H I J K L M
  • python随机生成十个数

    import random a range 3 100 2 b random sample a 10 print b x 0 for i in b x 1 print 整数的个数为 0f format x
  • 怎么查看文件的MD5码

    windows下查看MD5 步骤一 首先使用WIN R快捷键 进入CMD命令行模式 步骤二 然后在cmd命令行中切换到指定目录 或者直接使用绝对路径 certutil hashfile D file txt MD5 certutil has
  • Spring集成XxlJob核心初始化类,对应版本:2.4.1-SNAPSHOT

    XxlJobSpringExecutor 继承了XxlJobExecutor父类 实现了ApplicationContextAware SmartInitializingSingleton DisposableBean接口 在Spring容