在我的Web应用程序中,有些请求的持续时间超过20秒。但是在某些情况下,代码可能会导致无限循环或类似事件,从而减慢服务器速度。
我想在服务器端放置60秒的请求超时。这是在tomcat中实现的吗?
使用Tomcat 7,你可以添加StuckThreadDetectionValve,这将使你能够识别“卡住”的线程。你可以在要进行检测的应用程序的Context元素中设置阀门:
<Context ...> ... <Valve className="org.apache.catalina.valves.StuckThreadDetectionValve" threshold="60" /> ... </Context>
这将为花费超过60秒的任何线程将一个WARN条目写入tomcat日志,这将使你能够识别应用程序并禁止它们,因为它们有故障。