Liubsyy / HotSecondsIDEA

HotSeconds是一款Java远程热部署的插件,可实现秒级一键化热更新。插件分为HotSecondsClient(IDEA热部署插件)和HotSecondsServer(服务端javaagent热更新插件),可以热更新java和常用配置文件,也支持常用框架(Spring,MyBatis)的热更新,相对传统部署可节省大量时间提高开发效率。
GNU General Public License v2.0
376 stars 49 forks source link

远程热部署之后有一定概率导致服务挂掉 #48

Closed freedom727 closed 10 months ago

freedom727 commented 11 months ago

远程热部署之后有一定概率导致服务挂掉,是因为jvm重新加载class文件时,接口有请求过来导致挂掉的吗 image

freedom727 commented 11 months ago

目前出现了三次,都是在连续热部署了三四个文件之后出现的问题

freedom727 commented 11 months ago

均采用本地编译然后热部署的形式

Liubsyy commented 11 months ago

是Java8吗,如果是的话看看jdk版本和libjvm.so是不是一致的

freedom727 commented 11 months ago

open——jdk1.8.171,使用的是你提供的172版本

freedom727 commented 11 months ago

hs_err_pid15368.log

freedom727 commented 11 months ago

换成jre里面自带的libjvm.so试了下也不行,甚至热部署都失败了,报hotswap TwinsElementManageServiceImpl fail image

Liubsyy commented 11 months ago

应该还是跟版本有一定关系,你能升级一下JDK版本吗,和so保持一个版本

freedom727 commented 11 months ago

没办法升级,公司定制的系统,统一采用的这个版本的jdk,话说你提供的这个libjvm.so是在哪找的,我去找找对应版本的

Liubsyy commented 11 months ago

所有的版本都在里面了,你可以去 https://github.com/dcevm/dcevm/releases 看看。另外Linux环境下,你可以自己弄一个沙盒环境或者镜像,专门用于远程热部署,使用特定版本的jdk