【问题标题】:Java EE - How webserver handles long running http requestJava EE - 网络服务器如何处理长时间运行的 http 请求
【发布时间】:2013-10-19 01:10:30
【问题描述】:

我目前正在开发一个 Web 应用程序,一旦控制器收到请求(请求当前是 AJAX 请求),它将触发一个长时间运行的数据库过程。

我的控制器看起来像这样

@RequestMapping(value="/startProcedureCall.htm", method=RequestMethod.GET)
protected void startProcedureCall(HttpServletRequest request) {
    //do some stuff
    //...
    //...
    myService.callProcedure(); //<- this procedure may run upto an hour
    //... do some stuff
    //...
}

该请求将保留在控制器中,直到 myService.callProcedure() 完成其执行,正如代码注释中所述,可能会运行长达一个小时。

我担心的是,Web 服务器会允许将请求困在控制器中这么长时间吗?这不会导致某种超时错误吗?

我目前使用 websphere 作为网络服务器。

【问题讨论】:

    标签: java spring jakarta-ee httprequest


    【解决方案1】:

    这取决于您的网络服务器的配置方式。 this 等资源将向您展示如何为您的 WebSphere 版本配置超时设置。

    请记住,您可能需要考虑不同的架构,例如异步批处理作业(例如 Spring Batch)和缓存。只是一个想法。

    【讨论】:

      猜你喜欢
      • 2012-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-28
      • 2012-02-01
      • 2023-01-09
      • 2021-02-07
      • 1970-01-01
      相关资源
      最近更新 更多