クラス TimeoutCallableProcessingInterceptor
java.lang.ObjectSE
org.springframework.web.context.request.async.TimeoutCallableProcessingInterceptor
- 実装されたすべてのインターフェース:
CallableProcessingInterceptor
public class TimeoutCallableProcessingInterceptor
extends ObjectSE
implements CallableProcessingInterceptor
レスポンスがまだコミットされていない場合、タイムアウトの場合は 503 (SERVICE_UNAVAILABLE) を送信します。4.2.8 の時点で、これは結果を
AsyncRequestTimeoutException
に設定することによって間接的に行われ、Spring MVC のデフォルトの例外処理によって 503 エラーとして処理されます。最後に、他のすべてのインターセプターの後に登録されるため、他のインターセプターがタイムアウトを処理しない場合にのみ呼び出されます。
RFC 7231 によると、"Retry-After" ヘッダーのない 503 は 500 エラーとして解釈され、クライアントは再試行してはならないことに注意してください。アプリケーションは独自のインターセプターをインストールしてタイムアウトを処理し、必要に応じて 'Retry-After' ヘッダーを追加できます。
- 導入:
- 3.2
- 作成者:
- Rossen Stoyanchev
フィールドサマリー
インターフェース org.springframework.web.context.request.async.CallableProcessingInterceptor から継承されたフィールド
RESPONSE_HANDLED, RESULT_NONE
コンストラクターのサマリー
メソッドのサマリー
修飾子と型メソッド説明<T> ObjectSE
handleTimeout
(NativeWebRequest request, CallableSE<T> task) Callable
タスクが完了する前に非同期リクエストがタイムアウトしたときに、コンテナースレッドから呼び出されます。クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.web.context.request.async.CallableProcessingInterceptor から継承されたメソッド
afterCompletion, beforeConcurrentHandling, handleError, postProcess, preProcess
コンストラクターの詳細
TimeoutCallableProcessingInterceptor
public TimeoutCallableProcessingInterceptor()
メソッドの詳細
handleTimeout
インターフェースからコピーされた説明:CallableProcessingInterceptor
Callable
タスクが完了する前に非同期リクエストがタイムアウトしたときに、コンテナースレッドから呼び出されます。実装は、Callable
SE が時間内に返さなかった値の代わりに使用するException
SE を含む値を返す場合があります。デフォルトの実装は常に
CallableProcessingInterceptor.RESULT_NONE
を返します。- 次で指定:
- インターフェース
CallableProcessingInterceptor
のhandleTimeout
- パラメーター:
request
- 現在のリクエストtask
- 現在の非同期リクエストのタスク- 戻り値:
- 同時結果値 ; 値が
CallableProcessingInterceptor.RESULT_NONE
またはCallableProcessingInterceptor.RESPONSE_HANDLED
以外の場合、並行処理が再開され、後続のインターセプターは呼び出されません - 例外:
ExceptionSE
- エラーの場合