自从从 tomcat8 升级到 tomcat9 后,我们遇到了一个奇怪的问题。
catalina.out 或其他应用程序日志文件中没有有用的日志条目。
我们唯一的怀疑是它主要发生在热部署war文件时(将war文件移动到apps文件夹而不停止/启动tomcat9)。相比之下 - 热部署在 tomcat8 上从来都不是问题。
也许这是一个ajp问题?这是我们的连接器配置:
<Connector
port="8009"
protocol="org.apache.coyote.ajp.AjpNio2Protocol"
acceptCount="200"
acceptorThreadCount="2"
address="0.0.0.0"
connectionTimeout="1800000"
maxThreads="400"
minSpareThreads="20"
secretRequired="false"
redirectPort="8443" />
我在这里发现了一些(可能)相关问题:tomcat hangs when deploying war file and restarting server
那边的人说他们停止了tomcat,部署了战争,然后再次启动了tomcat。
升级到tomcat9后有同样问题的人吗?
所以似乎tomcat9上的热部署以某种方式导致了冻结。最后三个部署完成如下:
到目前为止,我们不再面临冻结。
所以我建议在 tomcat9 上进行热部署(可能与 java11 一起更新)会导致冻结。
这个解决方案对我们有用。