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_OPT
有 Xloggc
参数,作者想打印gc日志并开启日志轮转,本人用ls
命令查看结果显示确实没有GC日志。
2 不同项目的同名线程池注册失败
hippo4j的官方文档说,线程池管理是分租户
项目
线程池
这三级的,实际上当你注册线程池时,不能和现有的任何线程池
名字相同(即使是不同租户、不同项目)。
cn.hippo4j.config.service.biz.impl.ConfigServiceImpl#addConfigInfo
方法就做了这种奇怪的判断逻辑
上面的tpId是线程池名字,上边的查询条件并没有加租户id
项目id
这两个条件。不同项目中有相同的线程池名词,这个应该是是常见现象,不知道为啥这里直接抛出异常报错。