Springboot Redisson Xxljob(Druid MySQL MybatisPlus) 对接使用

2023-10-27

前情提要

  • 根据xxl-job提供的springboot的基本对接代码,Github:spingboot对接代码地址
  • 根据业务需求,框架中需要接入druid/mysql/redis/redisson等组件和框架
  • 在springboot+xxljob对接druid+mysql+mybatis-plus的测试中,启动正常
  • 在springboot+xxljob+druid+mysql+mybatis-plus对接redis+redisson的测试中,出现异常,启动失败
  • 以下进行错误排查(redis+redisson集成代码这块并无异常,去除xxljob后可正常使用)。目前考虑兼容性问题,组件版本?依赖冲突?

一、版本内容如下

  1. xxl-job-core-2.0.2
  2. springboot-2.6.1
  3. spring-boot-starter-data-redis-2.6.1
  4. redisson-spring-boot-starter-3.16.7
  5. druid-spring-boot-starter-1.2.8
  6. mybatis-plus-boot-starter-3.5.1
  7. mysql-connector-java-8.0.26
  8. tomcat-jdbc-8.5.23

二、配置启动

发现底层netty版本均为4.1.70.Final,但存在冲突,具体原因不明确

# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00000001143564d4, pid=21642, tid=0x0000000000000e03
#
# JRE version: Java(TM) SE Runtime Environment (8.0_181-b13) (build 1.8.0_181-b13)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.181-b13 mixed mode bsd-amd64 compressed oops)
# Problematic frame:
# C  [libnetty_resolver_dns_native_macos_x86_648047274197466035758.dylib+0x64d4]  netty_jni_util_JNI_OnUnload+0x84
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /Users/chenzy/files/gitFile/xxl-job/hs_err_pid21642.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

三、解决方式

定位是netty可能存在的冲突问题(主要是redisson底层的netty与xxljob使用的netty通信存在冲突)

  • 在xxl-job中提出netty依赖(xxl-job添加了netty-all的依赖,实际上并没有用到全部)
 <!-- xxl-job-core -->
        <dependency>
            <groupId>com.xuxueli</groupId>
            <artifactId>xxl-job-core</artifactId>
            <version>${xxljob.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>io.netty</groupId>
                    <artifactId>netty-all</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
  • 启动后,针对NoClassFound的依赖,进行补充
        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-codec-http</artifactId>
            <version>4.1.70.Final</version>
        </dependency>
  • 再次启动,相关依赖无缺失,能够正常调度任务、传递参数、调用组件

附录

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

Springboot Redisson Xxljob(Druid MySQL MybatisPlus) 对接使用 的相关文章

  • 可以有多个用户作为 MySQL 存储过程的定义者吗?

    我在 MySQL 存储过程方面遇到了一些困难 并且感到有点沮丧 我有一组由 Bob 创建的 SP 由于他是定义者 只有他才能看到它们的 CREATE 语句 修改它们等 Mary 可以在 MySQL Workbench 的架构中看到 Bob
  • docker-compose mysql 容器拒绝访问 wordpress 容器

    我遇到 mysql 5 7 容器拒绝访问 wordpress 容器的问题 我正在使用 docker compose 并且在 Mac OSX 上运行 docker Docker 应该是可用的最新版本 这是我的 docker compose y
  • 在 Kotlin 中创建 Spring 的 ParameterizedTypeReference 实例

    我正在尝试学习 Kotlin 并测试它如何与 Spring Boot 配合使用 我的应用程序使用 mongo 数据库来存储数据 并且我有用于检索数据的 Jersey 资源 我正在使用它进行测试spring boot test and Res
  • PHP 数据库显示在具有不同锚标记的相同字段中

    我四处寻找 看看这是否可行 但却空手而归 首先 这是我的代码 div style display none div ul li li li li li li ul
  • ORDER BY id 或 date_created 显示最新结果?

    我有一个表 实际上有几个 我想首先从中获取最新条目的结果 这是我的ORDER BY条款选项 date created INT 从不改变值 id 当然是INT AUTO INCRMENT 两列应同等地代表记录插入的顺序 我自然会使用date
  • 从数据库中给定时间起经过的时间

    我有一个 HTML 表 其中包含从数据库中提取的记录 我正在使用 PHP MySQL 我的表中名为 Timer 的列未从数据库中检索 我需要在此处显示经过的时间 从数据库中的特定时间开始 例如 假设现在的时间是2013年2月21日下午6点2
  • 优化mysql中日期类型字段的查询

    我目前准备了以下查询 select sum amount as total from incomes where YEAR date 2019 and MONTH date 07 and incomes deleted at is null
  • MySQL - 从表中删除空值行

    我有一张桌子 user 有超过 60 列 其中一列的名称是 用户名 我想删除其中的行username字段为空或NULL 我怎样才能做到这一点 谢谢你 Try this DELETE FROM user WHERE username IS N
  • 用于集成测试的 Spring-boot 默认配置文件

    Spring boot利用弹簧型材 http docs spring io spring boot docs current reference html boot features profiles html它允许针对不同的环境进行单独的
  • 为什么涉及用户变量的表达式的求值顺序未定义?

    From MySQL手册 http dev mysql com doc refman 5 7 en user variables html以下查询的输出不保证始终相同 SET a 0 SELECT a AS first a a 1 AS s
  • 使用“mvncompilejib:build”推送到 Docker 注册表失败

    我正在尝试使用以下命令构建并将我的 docker 映像部署到私有注册表谷歌联合投资银行Maven 插件 但是 它因访问私有注册表时出现问题而失败 我已经安装了Docker 桌面 v19 03 1 on my Windows 10机器 接下来
  • 表已满(使用 MEMORY 引擎)

    我想将生产数据库传输到我的开发机器上进行测试 它有 6 张桌子MEMORY出于性能目的的引擎 I did mysqldump routines hxxx uxxx pxxx prod database gt prod dump sql 当我
  • MySQL 获取时间优化

    o我有一个包含 200 万个寄存器的表 但它很快就会增长得更多 基本上 该表包含具有相应描述符的图像的兴趣点 当我尝试执行选择在空间上靠近查询点的点的查询时 总执行时间花费太长 更准确地说 持续时间 获取 0 484 秒 27 441 秒
  • PHP MySQL 查询带有 %s 和 %d

    SELECT COUNT AS test FROM s WHERE id d AND tmp mail lt gt 什么是 s and d for 这些是使用的格式符号 例如经过sprintf 例子 Output SELECT COUNT
  • java中如何知道一条sql语句是否执行了?

    我想知道这个删除语句是否真的删除了一些东西 下面的代码总是执行 else 是否删除了某些内容 执行此操作的正确方法是什么 public Deleter String pname String pword try PreparedStatem
  • 为什么 jar 执行的通配符在 docker CMD 中不起作用?

    我有一个Dockerfile与以下CMD启动我的 Spring Boot 应用程序 FROM java 8 jre CMD java jar app file jar 当我尝试从创建的图像启动容器时 我得到 Error Unable to
  • 如何更改 Swagger-ui URL 前缀?

    我正在使用 Springfox Swagger2 和 Spring boot 1 5 9 我可以通过此链接访问 swagger UI http localhost 8090 swagger ui html http localhost 80
  • MYSQL:SQL查询获取自增字段的值

    我有一张桌子 主键是id及其自动递增 现在 当我插入新记录时 我需要获取更新记录的 id 我怎样才能做到这一点 如果我使用查询 select max id from table name 执行后我可以获得id 但我能确定它是刚刚插入的记录的
  • MySQL 将 ÅäÖ 视为 AAO?

    这两个查询给了我完全相同的结果 select from topics where name Harligt select from topics where name H rligt 这怎么可能 看起来mysql在搜索时会将 翻译成aao
  • 如何使用MySqlCommand和prepare语句进行多行插入?(#C)

    Mysql 给出了如何使用准备语句和 NET 插入行的示例 http dev mysql com doc refman 5 5 en connector net programming prepared html http dev mysq

随机推荐

  • 推挽输出和开漏输出的比较

    一 推挽输出 推挽输出的最大特点是可以真正能真正的输出高电平和低电平 在两种电平下都具有驱动能力 推挽输出的结构是由两个三极管或者MOS管受到互补信号的控制 两个管子始终保持一个处于截止 另一个处于导通的状态 电路工作时 两只对称的开关管每
  • How to Reduce Ground Bounce: Mitigating Noise with PCB Design Best Practices

    原文链接 https www allaboutcircuits com technical articles how to reduce ground bounce mitigating noise pcb design best prac
  • nginx报错

    一 nginx emerg server directive is not allowed here in usr local nginx conf nginx conf 45 一般这个报错 都是nginx conf配置文件修改的时候出错
  • LaTeX Error: File `citesort.sty' not found.

    在使用latex写论文时居然发现了所示的错误 然后网上一顿大找解决办法 最后发现是没有citesort sty这个包 然后又到网上下载了这个包 然后就直接放到latex的安装目录下面去了 发现还是不行 真是 最后直接把下载好的这个包放到当前
  • 多台服务器之间如何实现自动化的数据同步传输?

    企业的分支机构越来越多 跨区域跨国的集团越来越多 和外部合作伙伴之间的协作越来越多 跨组织跨地域之间的协作 都依赖于数据的交互 而这些数据大部分都是存储在服务器节点上的 所以 服务器之间的文件的自动化 高可靠同步调度 就尤为重要 目前来看
  • Webgl刷底色

    1 在html中建立canvas 画布
  • transient

    transient Java语言的关键字 用来表示一个域不是该对象串行化的一部分 当一个对象被串行化的时候 transient型变量的值不包括在串行化的表示中 然而非transient型的变量是被包括进去的 class A implemen
  • (附源码)springboot大学生防疫封校管理系统 毕业设计 632124

    大学生防疫封校管理系统 摘 要 2019年12月19号中国武汉发生第一例新冠病毒的到来 大家都在听从政府的号召在居家隔离 不管是在城市还是在乡镇 农村 这引起我的注目 设计一套大学生防疫封校管理系统 疫情防控需要大家共同努力 团结对校园学生
  • 算法通过村第一关——链表青铜挑战笔记

    题目一 理解Java是如何构造出链表的 单链表的内部结构 单链表中就像铁链一样 每个元素 节点 之间互相连接 包含多个节点 每个节点都有一个指向后继元素 节点 的next指针 最后一个元素的next指针指向null 如下图所示 Java单链
  • vba使用win32 API(GetOpenFileName )实现打开文件对话框

    2007年10月30日 11 19 00 使用网上比较普遍的vb中使用WindowsAPI实现打开文件对话框代码 Declare Function GetOpenFileName Lib comdlg32 dll Alias GetOpen
  • SMbus和I2C异同

    关于I2C与SMBus 许多人很少去谈论与了解两者的细节差异 包括很多国外的简报 文章也经常将两者混写 交杂描述 交替运用 确实 在一般运用下 I2C Bus与SMBus没有太大的差别 从实际接线上看也几乎无差异 甚至两者直接相连多半也能相
  • 【小沐学NLP】Python实现聊天机器人(微软Azure机器人服务)

    NLP开发系列相关文章编写如下 1 小沐学NLP Python实现词云图 2 小沐学NLP Python实现图片文字识别 3 小沐学NLP Python实现中文 英文分词 4 小沐学NLP Python实现聊天机器人 ELIZA 5 小沐学
  • (Kubernetes)k8s简介 docker安装

    Kubernetes 简介 Kubernetes 是一个自动化部署 伸缩和操作应用程序容器的开源平台 使用 Kubernetes 你可以快速 高效地满足用户以下的需求 快速精准地部署应用程序 即时伸缩你的应用程序 无缝展现新特征 限制硬件用
  • js中计算两个日期之间的月份差

    开始时间startDate 结束时间endDate var startDate 2019 12 30 var endDate 2020 04 28 startDate startDate split 得到月数 startDate parse
  • Android模拟器的文件目录介绍

    文件存放在 avd文件夹下 ini为对应的配置文件 打开 avd文件夹 lock文件夹保存的是模拟器的一下数据 当模拟器正常关闭时这些文件夹都会被自动删除 当模拟器无法开启的时候可以检查一下这几个文件夹是否存在 把所以的 lock文件夹删除
  • 解决“from exceptions import PendingDeprecationWarning ModuleNotFoundError: No module named ‘exception”

    如图
  • 使用C语言结构体实现面向对象

    1 构造属性与方法 struct Animal char name 128 int age char six 成员属性 void peat 成员方法 void pbeat int num 2 构造类 int mian struct Anim
  • TypeScript(五)类型别名及类型符号

    目录 引言 类型别名 基本用法 字面量类型 数字字面量 字符串字面量 布尔字面量 空字面量 枚举字面量 类型符号 联合类型 交叉类型 类型断言 尖括号 as关键字 非空断言 类型保护 typeof instanceof 类型谓词 索引类型
  • chatgpt赋能python:Python编程:如何删除前面的代码?

    Python编程 如何删除前面的代码 在Python编程中 我们有时会需要删除之前写的一些代码 以便更好地组织我们的代码结构和逻辑 那么 Python中如何删除前面的代码呢 在本文章中 我们将为您详细介绍Python中删除前面代码的几种方法
  • Springboot Redisson Xxljob(Druid MySQL MybatisPlus) 对接使用

    前情提要 根据xxl job提供的springboot的基本对接代码 Github spingboot对接代码地址 根据业务需求 框架中需要接入druid mysql redis redisson等组件和框架 在springboot xxl