私は現在、コントローラーがリクエストを受信すると長時間実行されるデータベース プロシージャをトリガーする 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()
、コードのコメントに記載されているように、実行が完了するまでコントローラーにとどまります。これは最大 1 時間実行される場合があります。
私の懸念は、Web サーバーがリクエストをコントローラに長時間閉じ込めることを許可するかどうかということです。これは何らかのタイムアウト エラーにはなりませんか?
現在、websphere を web サーバーとして使用しています。