HotSwapAgent:如何将它用于WAR文件中的类?

时间:2018-05-24 14:34:20

标签: java tomcat jvm hotswap hotswapagent

所以我发现这个名为hotswapagent的库,它使您可以为在应用程序容器上部署的应用程序执行hotswapping。它也可以很好地处理XML配置和类文件,但有两种情况:

  1. 在某些WAR中,您可以使用另一个jar来实现' utils'并将其作为主WAR的单独依赖项。如何替换我的jar中的类文件,这是我主WAR的依赖?

  2. 如何配置Tomcat / Weblogic等Web应用程序容器以在运行时接受内部jar的更改?

1 个答案:

答案 0 :(得分:2)

在主模块的资源目录(例如:src/main/resources)中创建hotswap-agent.properties文件。在该文件中,将extraClasspath设置为utils模块的目标类文件夹。它看起来像这样: extraClasspath=<path to utils module>/target/classes

这是一个示例hotswap-agent.properties文件,其中包含默认值和解释每个变量的注释:https://github.com/HotswapProjects/HotswapAgent/blob/master/hotswap-agent-core/src/main/resources/hotswap-agent.properties

现在,当部署Web应用程序时,HotSwapAgent会将额外的类加载到类路径上,您将能够在其中热交换代码。我假设如果您已经可以使用HotSwapAgent重新加载类,则无需执行问题的第二部分。