Closed wwxiaoqi closed 11 months ago
目前怀疑 classloader 配置有问题,以及 libjava.so 待排查
三方面的问题都排查一下,1.远程端口是通的且本地用其他工具能连接上这个端口 2.jdk版本可能和libjvm不一致,你去掉-XXaltjvm=dcevm其他参数都保留启动服务器,看看客户端能连上吗 3.classloader填写不需要包名
连接过程中发现日志需要打印如下内容才可以正常连接
HOTSECONDS: XX:XX:XX:XXX INFO HotDeployService热部署服务启动成功
这个过程需要大概等待 5 分钟左右,目前不清楚是不是定时器的问题。
项目设置了 ConfigurableApplicationContext 实际上需要设置 Classloader 为 AppClassLoader(可能不是这个原因,没有研究下去了)
配置这个选项可以使用如下命令放到 Spring Boot Application Main:
System.out.println(ServerApplication.class.getClassLoader());
配合启动日志中的 Parent Classloader 来配置:
HOTSECONDS: 05:48:04.099 INFO Plugin 'org.hotswap.agent.plugin.tomcat.TomcatPlugin' initialized in ClassLoader 'TomcatEmbeddedWebappClassLoader
context: v1
delegate: true
----------> Parent Classloader:
sun.misc.Launcher$AppClassLoader@18b4aac2
'.
/usr/local/zulu8.72.0.17-ca-jdk8.0.382-linux_x64/bin/java
-Djava.rmi.server.hostname=XXX.XX.XXX.XX
-javaagent:HotSecondsServer.jar=hotconf=hot-seconds-remote.xml
-Xmx1024M -Xms256M
-jar server.jar
--server.port=9090
另外日志中有个字符串打错了:
HOTSECONDS: 11:40:57.737 INFO 超过5此移除:com.code.server.TestHotExtHandler
5此 -> 5次
5分钟延迟启动可以看看hot-seconds-remote.xml中的init_delay
环境:
IntelliJ IDEA 2023.2 (Build #IU-232.8660.185, built on July 26, 2023) HotSecondsClient 端版本:1.8.5 HotSecondsServer 端版本:HotSecondsServer-future2 Java version "1.8.0_382" libjvm.so 使用版本:1.8.0_181 Debian GNU/Linux 12 x86_64
运行相关
该项目是在宝塔部署的 Spring Boot。
运行命令:
配置情况
hot-seconds-remote.xml
hot-seconds.xml
错误提示
在 HotSecondsClient 进行连接的时候出现:
运行日志
发现以下内容:
自我尝试
-Djava.rmi.server.hostname=远程ip
未解决