public class TimeoutCallableProcessingInterceptor extends ObjectSE implements CallableProcessingInterceptor
AsyncRequestTimeoutException
に設定することによって間接的に行われ、Spring MVC のデフォルトの例外処理によって 503 エラーとして処理されます。最後に、他のすべてのインターセプターの後に登録されるため、他のインターセプターがタイムアウトを処理しない場合にのみ呼び出されます。
RFC 7231 によると、"Retry-After" ヘッダーのない 503 は 500 エラーとして解釈され、クライアントは再試行してはならないことに注意してください。アプリケーションは独自のインターセプターをインストールしてタイムアウトを処理し、必要に応じて 'Retry-After' ヘッダーを追加できます。
RESPONSE_HANDLED, RESULT_NONE
コンストラクターと説明 |
---|
TimeoutCallableProcessingInterceptor() |
修飾子と型 | メソッドと説明 |
---|---|
<T> ObjectSE | handleTimeout(NativeWebRequest request, CallableSE<T> task) Callable タスクが完了する前に非同期リクエストがタイムアウトしたときに、コンテナースレッドから呼び出されます。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
afterCompletion, beforeConcurrentHandling, handleError, postProcess, preProcess
public <T> ObjectSE handleTimeout(NativeWebRequest request, CallableSE<T> task) throws ExceptionSE
CallableProcessingInterceptor
Callable
タスクが完了する前に非同期リクエストがタイムアウトしたときに、コンテナースレッドから呼び出されます。実装は、Callable
SE が時間内に返さなかった値の代わりに使用する Exception
SE を含む値を返す場合があります。 デフォルトの実装は常に CallableProcessingInterceptor.RESULT_NONE
を返します。
CallableProcessingInterceptor
の handleTimeout
request
- 現在のリクエスト task
- 現在の非同期リクエストのタスク CallableProcessingInterceptor.RESULT_NONE
または CallableProcessingInterceptor.RESPONSE_HANDLED
以外の場合、並行処理が再開され、後続のインターセプターは呼び出されません ExceptionSE
- エラーの場合