繁体   English   中英

Java EE-Web服务器如何处理长时间运行的HTTP请求

[英]Java EE - How webserver handles long running http request

我当前在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()完成执行为止myService.callProcedure()如代码注释中所述),该过程可能长达一个小时。

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

我目前正在使用Websphere作为Web服务器。

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

请记住,尽管您可能想要考虑不同的体系结构,例如异步批处理作业(例如,使用Spring Batch )和缓存。 虽然只是一个想法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM