目前,当Java类被更改时,Spring应用程序必须一次又一次地重新启动。这是非常耗时和缓慢的发展。
因此,我正在寻找一种方法,在不重新启动应用程序的情况下立即将更改传播到类中。
有点像JRebel。
发布于 2017-12-21 12:16:54
是的,这是可能的,使用DCEVM类热交换代理:https://dcevm.github.io/。
安装: 1)从上面提供的页面下载jar。
2)使用命令运行jar:java -jar DCEVM-8u144-installer.jar
单击"Install altjvm“(如果这里显示了多个JVM,则选择应用程序start使用的JVM)。
3)下载Hotswap:https://github.com/HotswapProjects/HotswapAgent/releases JAR并将其放在某个地方,例如在JDK目录中。
4)在eclipse> Run>中,运行Configurations> Java Application> YourApp:
在"VM参数“中添加
-XXaltjvm=dcevm -javaagent:c:\env\jdk-1.8u151\hotswap-agent-1.1.0-SNAPSHOT.jar=autoHotswap=true
(用路径更改c:\env\jdk-1.8u151\hotswap-agent-1.1.0-SNAPSHOT.jar )
完成
通过应用程序启动,您可以在控制台中看到如下内容:
HOTSWAP AGENT: 20:50:07.106 INFO (org.hotswap.agent.HotswapAgent) - Loading Hotswap agent {1.1.0-SNAPSHOT} - unlimited runtime class redefinition.发布于 2017-12-19 22:56:49
Spring文档,有一个关于这一主题的整个章节。你可以试试Devtools,如果足够的话,坚持它。但是,正如文档所述,这可能已经足够了,您可以转而查看Spring或JRebel。
https://stackoverflow.com/questions/47889360
复制相似问题