在tomcat上扩展可重新加载目录集

luk*_*uke 6 java tomcat catalina tomcat7

我想在tomcat 7.0.59上扩展可重新加载目录的集合.当reloadable属性Context设置为true时,tomcat监视:/WEB-INF/classes/和中的类/WEB-INF/lib.

如果您希望Catalina监视/ WEB-INF/classes /和/ WEB-INF/lib中的类以进行更改,则设置为true;如果检测到更改,则自动重新加载Web应用程序.此功能在应用程序开发期间非常有用,但它需要大量的运行时开销,不建议在部署的生产应用程序上使用.这就是为什么此属性的默认设置为false.但是,您可以使用Manager Web应用程序按需触发已部署应用程序的重新加载.

整个系统分为模块,每个模块可以有自己的web上下文(/WEB-INF/classes/)和/或扩展全局上下文(/classes/).假设我想要/classes/重新加载目录.我怎样才能做到这一点?

我尝试使用WatchedResource标签,没有效果:

<Context reloadable="true" path="/test" docBase="/MY_MODULE/web/webroot">
     <Manager pathname="" />
     <WatchedResource>/MY_MODULE/classes</WatchedResource>
</Context>
Run Code Online (Sandbox Code Playgroud)

Mar*_* An 3

您可以尝试使用 HotSwapAgent: Plugin_tomcat 启动 tomcat。 ( GITHUB 热交换项目)

您可以hotswap-agent.properties在每个模块上有不同的文件,以加载不同的类路径。