Tomcat是否偶尔会重新部署WAR?

时间:2011-10-14 15:52:15

标签: java tomcat servlets war

我有一个webapp,它作为WAR文件部署到Tomcat 6服务器。它将一些数据存储在app本身的目录中。部署新版本的应用程序时会覆盖这些文件,但备份它们并重新添加它们是微不足道的。

然而,我的一位同事声称Tomcat有时会自发地重新爆炸我的WAR文件,即使爆炸版已经存在,也要擦除这些文件。我以前从未见过这种行为。如果我真的需要,我可以找出一个解决方法,但这是实际发生的事情,无论是自发还是在服务器重启?

1 个答案:

答案 0 :(得分:5)

只要有

,Tomcat就会自动部署而不重新启动
<Host autoDeploy="true">
在您的/conf/server.xml

并编辑扩展WAR中的一个资源。但实际上并不建议将此设置用于生产环境,因为它可能会导致memory leaks。默认情况下,这也是关闭的。

那就是说,我强烈建议你把所谓的数据放在WAR之外。如果它们应该是webapp的运行时类路径的一部分,只需将它们放在Tomcat外部的固定磁盘文件系统路径中,例如, /var/webapp/config并修改shared.loader的{​​{1}}属性以指定该路径:

/conf/catalina.properties

然后,这些资源将以通常的方式在类路径中可用。这样您就不需要备份和重新添加它,这显然很笨拙并且非常容易出错。