一尘不染

Java Tomcat请求超时

java

在我的Web应用程序中,有些请求的持续时间超过20秒。但是在某些情况下,代码可能会导致无限循环或类似事件,从而减慢服务器速度。

我想在服务器端放置60秒的请求超时。这是在tomcat中实现的吗?


阅读 767

收藏
2020-03-19

共1个答案

一尘不染

使用Tomcat 7,你可以添加StuckThreadDetectionValve,这将使你能够识别“卡住”的线程。你可以在要进行检测的应用程序的Context元素中设置阀门:

<Context ...>
  ...
  <Valve 
    className="org.apache.catalina.valves.StuckThreadDetectionValve"
    threshold="60" />
  ...
</Context>

这将为花费超过60秒的任何线程将一个WARN条目写入tomcat日志,这将使你能够识别应用程序并禁止它们,因为它们有故障。

2020-03-19