我给线程池管理框架hippo4j找bug

1 虚拟机参数不生效

hippo4j的docker启动脚本位于 docker/docker-startup.sh 。从下图可以看到 JAVA_OPT放在了jar包名 hippo4j-server.jar之后,而只有项目参数才放在jar包名之后。

实际上这里JAVA_OPT中包含虚拟机参数,而虚拟机参数要放在jar包名之前才会生效,所以此时的虚拟机参数是不生效的。上面的echo "$JAVA ${JAVA_OPT}" > ${BASE_DIR}/logs/start.out 2>&1 &语句将 JAVA_OPT重定向输出到了${BASE_DIR}/logs/start.out文件中,让我们去看看这个 JAVA_OPT到底是些啥。

从上面的截图看出JAVA_OPTXloggc参数,作者想打印gc日志并开启日志轮转,本人用ls 命令查看结果显示确实没有GC日志。

2 不同项目的同名线程池注册失败

hippo4j的官方文档说,线程池管理是分租户 项目 线程池这三级的,实际上当你注册线程池时,不能和现有的任何线程池名字相同(即使是不同租户、不同项目)。
cn.hippo4j.config.service.biz.impl.ConfigServiceImpl#addConfigInfo方法就做了这种奇怪的判断逻辑

上面的tpId是线程池名字,上边的查询条件并没有加租户id 项目id这两个条件。不同项目中有相同的线程池名词,这个应该是是常见现象,不知道为啥这里直接抛出异常报错。

相关推荐
爱学习的小可爱卢14 小时前
JavaSE基础-Java异常体系:Bug定位终极指南
java·bug·javase
GeekyGuru14 小时前
代码诊疗室——疑难Bug破解战
bug
嵌入式×边缘AI:打怪升级日志3 天前
9.2.3 UART 驱动严重 Bug(保姆级讲解)
bug
qq_24218863325 天前
代码诊疗室——疑难Bug破解战
bug
Moshow郑锴7 天前
Java SpringBoot 疑难 Bug 排查思路解析:从“语法正确”到“行为相符”
java·spring boot·bug
人间花海8 天前
BUG终结者:挑战你的调试极限
bug
2401_858286118 天前
OS54.【Linux】System V 共享内存(3) “共享内存+管道“修bug记录
linux·运维·服务器·算法·bug
Kurbaneli9 天前
代码诊疗室——疑难Bug破解战
bug
Mr -老鬼11 天前
从 0 到 1 落地:Rust + Salvo 实现用户系统与 Bug 管理系统
开发语言·rust·bug
剑亦未配妥11 天前
CSS 折叠引发的 scrollHeight 异常 —— 一次 Blink 引擎的诡异 Bug
前端·css·bug