【发布时间】:2018-02-22 08:22:46
【问题描述】:
我有几个 war 文件已部署并且 Web 应用程序工作正常,但每次重新启动 tomcat 服务或系统时,war 文件都会重新部署并停止重新部署,我设置了配置选项 deployOnStartup 和 autoDeploy在 server.xml 中设置为 false。
但是现在机器重启或者tomcat服务重启后,web应用都不能用了,所以不知道是不是每次重启机器或者tomcat都需要重新部署war文件。
我遇到的原始问题是,当tomcat在启动时部署war文件并重新启动时,它会消耗高达95%的CPU并且其他进程被占用,所以为了解决它我试图关闭自动部署但是如果自动启动已关闭,Web 应用程序无法正常工作。所以我需要知道是否有任何方法可以限制tomcat的CPU使用率。
【问题讨论】:
-
所以你告诉tomcat不要在启动时重新部署应用程序。现在您想知道为什么它不部署它们。有什么遗漏吗?如果您最初想知道为什么tomcat“每次重启后都在部署”,那很正常,它只是在运行的服务器实例中启动应用程序的过程。
-
何不尝试重新设置配置选项,看看重启后web应用是否开始工作,然后想想 .
-
@chrylis 我认为如果您查看启动时的日志(相对于重新启动),您会发现无论战争中的时间戳是什么,您都会看到正在部署的 {war/app name}.war 以及它在此活动上取得的进展。每次启动tomcat时它都在那里。除非你告诉它不要这样做。
-
@Ernest Kiwele- deployOnStartup 和 autoDeploy 一开始是真的,所以部署了war文件,之后我手动编辑了服务器。 xml 并将这两个标志设置为 false。所以我认为 web 应用程序应该在重启后工作,因为 war 文件已经部署。
-
@Elliott Frisch,我已经尝试将配置选项恢复为true并重新启动tomcat。war文件已重新部署并且Web应用程序开始工作。所以我想知道是否每次都必须重新部署war文件机器/tomcat 重新启动。