我目前正在一个 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 作为 Web 服务器。