HotswapAgent快速入门之JDK 17
安装
- 下载最新版本的Jetbrains Runtime 17,解压缩并将 JAVA_HOME 设置为它的位置(或将其作为 JDK 添加到您的 IDE)。
- 下载最新版本的 Hotswap 代理 jar,解压
hotswap-agent.jar
并将其复制到<JBR-install-directory>/lib/hotswap
文件夹。使用代理时,请务必注意lib/hotswap
文件夹中的文件名不应包含版本名称,而应使用纯hotswap-agent.jar
文件名。
配置
- 使用附加选项通过 JBR 运行您的应用程序:
-XX:+AllowEnhancedClassRedefinition -XX:HotswapAgent=fatjar
- (可选)在资源目录中创建一个名为“hotswap-agent.properties”的文件,查看可用属性和默认值:https://github.com/HotswapProjects/HotswapAgent/blob/master/hotswap-agent-core/src/主/资源/hotswap-agent.properties
- (可选)如果您没有使用
autoHotswap=true
HotswapAgent 提供的热交换机制,您可能需要添加-Xlog:redefine+class*=info
一个额外的 JVM 参数,以获得有关重新加载的类的反馈。
运行
-
以调试模式启动应用程序,检查代理和插件是否正确初始化:
HOTSWAP AGENT: 9:49:29.548 INFO (org.hotswap.agent.HotswapAgent) - Loading Hotswap agent - unlimited runtime class redefinition. HOTSWAP AGENT: 9:49:29.725 INFO (org.hotswap.agent.config.PluginRegistry) - Discovered plugins: [org.hotswap.agent.plugin.hotswapper.HotswapperPlugin, org.hotswap.agent.plugin.jvm.AnonymousClassPatchPlugin, org.hotswap.agent.plugin.hibernate.HibernatePlugin, org.hotswap.agent.plugin.spring.SpringPlugin, org.hotswap.agent.plugin.jetty.JettyPlugin, org.hotswap.agent.plugin.tomcat.TomcatPlugin, org.hotswap.agent.plugin.zk.ZkPlugin, org.hotswap.agent.plugin.logback.LogbackPlugin] ... HOTSWAP AGENT: 9:49:38.700 INFO (org.hotswap.agent.plugin.spring.SpringPlugin) - Spring plugin initialized - Spring core version '3.2.3.RELEASE'
-
保存更改的资源和/或使用 IDE 的 HotSwap 功能重新加载更改
License:
CC BY 4.0