【问题标题】:Is Tomcat redeploying my web app over and over?Tomcat 是否一遍又一遍地重新部署我的 Web 应用程序?
【发布时间】:2017-06-15 15:08:18
【问题描述】:

我的 Java Web 应用程序开始出现零星中断。查看日志,我发现这种模式在一天中重复了数百次

INFO: Undeploying context [/TheChosenOne]
INFO: Deploying web application archive /var/lib/tomcat/webapps/TheChosenOne.war
INFO: Deployment of web application archive /var/lib/tomcat/webapps/TheChosenOne.war has finished in 323 ms

据我所知,没有人(故意)对此负责。什么会导致这种情况发生?在没有人明确要求的情况下,是什么触发了这样的重新部署?这严格来说是 Tomcat 配置问题吗?或者代码本身会导致这种情况发生吗?

【问题讨论】:

  • “没有人(故意)对此负责”然后他们通过使用触发重新部署的构建管道无意中做到了这一点?
  • 我正在调查这些方面。即使它是构建管道的一部分,我们也不会将新版本推送到所述管道中。所以,这些重新部署似乎都是自己发生的。

标签: java tomcat


【解决方案1】:

Tomcat 可以配置为定期检查 您的应用程序在磁盘上已更改,如果出现以下情况,请重新部署应用程序 他们做到了。因为检查文件是否已更改是令人难以置信的 cpu 和 内存密集,建议禁用自动网络 应用程序重新部署功能,在生产服务器上 默认启用。

修改它,使其类似于下面的 sn-p:

<host appbase="webapps" autodeploy="false" name="localhost" unpackwars="true" xmlnamespaceaware="false" xmlvalidation="false" />

有关自动部署的更多信息,请参阅http://tomcat.apache.org/tomcat-7.0-doc/config/host.html#Common_Attributes

【讨论】:

  • 检查我的配置,autodeploy 确实设置为true。我会将其设置为 false 看看情况是否有所改善。
  • 几个小时后...我在日志中没有看到任何重新部署。除非有什么变化,否则我将不得不宣布这个答案为赢家。 :)
  • 我希望我知道真正的根本原因。即使打开了这个选项,我也不知道为什么 Tomcat 每隔几秒钟就会看到一个“新的 Web 应用程序”部署。无论如何,我们不需要启用它。无论如何,我们都会进行手动部署。
猜你喜欢
  • 2013-10-22
  • 2011-12-27
  • 1970-01-01
  • 1970-01-01
  • 2021-10-28
  • 1970-01-01
  • 1970-01-01
  • 2017-09-20
  • 2017-11-13
相关资源
最近更新 更多