任务在服务器上运行时HTTP请求超时

时间:2012-06-14 17:48:00

标签: java java-ee tomcat spring-mvc

我有一个在Tomcat和Spring 3.0上运行的基于Java EE的Web应用程序。我的网页发送删除大量记录的请求。当请求在后台运行时,我收到一条超时错误,说“发生内部错误”。

我认为这是一个浏览器超时问题。有办法解决吗? 在Tomcat的web.xml中,会话超时设置为30。

我是否需要使用一些Ajax回调而不是发布请求?

1 个答案:

答案 0 :(得分:2)

您是否在Tomcat前面使用Apache HTTP Web服务器?

有几层超时:

  1. 在apache Web服务器级别(请参阅mod_proxy的超时设置,请参阅mod_jk的worker.properties文件)
  2. 在tomcat连接器级别(请参阅tomcat conf / server.xml以了解套接字超时)。
  3. 在Web应用程序会话到期级别(请参阅tomcat webapps / WEB-INF / web.xml会话超时设置
  4. 数据库超时 - whist进行长数据库查询,发生数据库查询超时并吐出来。
  5. 以下是该做什么:

    1. 确保您有超时的正确单位。有些事情 使用秒,几分钟,几毫秒。确保你有 正确对象,真爱。
    2. 使用tcpdump和连接到Tomcat的java调试器 查看超时发生的位置。 Tcpdump很有用,因为你 可以查看在超时之前发生的网络流量 发生。 Java调试器很有用,因为您需要查看 确切地说,服务器级别的请求正在发生什么。
    3. 通过这些,您可以找到超时的最终来源,并使用该信息更新此票证。