将/conf/server.xml的Context元素的reloadable子元素设置为“true”
<Context path="/xxxx" docBase="xxxx" autoDeploy="false" xmlValidation="false" xmlNamespaceAware="false" reloadable="true" crossContext="false">
<Resource name="jdbc/XXXX_DTC"
......
/>
<Resource name="jdbc/XXXX"
......
/>
<Resource name="jdbc/SqlServer"
......
/>
</Context>
reloadable子元素设置为“true”,Tomcat将监视该web应用程序的/WEB-INF/classes和/WEB-INF/lib目录下的类是否发生改变,然后自动重新装载那些发生改变的类。
需要注意的是,即使reloadable子元素设置为“true”,Tomcat也是每隔一段时间检查一下类是否发生变化,并不能及时响应出类的变化。所以如果修改完后,马上运行,可能得不到变化之后的结果。
由于监视类的变化与否需要消耗相当的资源,所以,当这个web应用作为产品上线运行之后,就不要将reloadable子元素设置为“true”了。
本文介绍如何在Tomcat中通过设置Context元素的reloadable属性为true实现热部署,即在不重启服务器的情况下更新应用。此配置使得Tomcat能够监控/WEB-INF/classes和/WEB-INF/lib目录下的类文件变化并自动重新加载。
3340

被折叠的 条评论
为什么被折叠?



