クラス StandardServletAsyncWebRequest

実装されたすべてのインターフェース:
AsyncListenerEEEventListenerSEAsyncWebRequestNativeWebRequestRequestAttributesWebRequest

public class StandardServletAsyncWebRequest extends ServletWebRequest implements AsyncWebRequest, AsyncListenerEE
AsyncWebRequest のサーブレット実装。

非同期リクエストに含まれるサーブレットとすべてのフィルターは、サーブレット API を使用するか、<async-supported>true</async-supported> 要素をサーブレットに追加して web.xml のフィルター宣言を有効にして、非同期サポートを有効にする必要があります。

導入:
3.2
作成者:
Rossen Stoyanchev
  • コンストラクターの詳細

    • StandardServletAsyncWebRequest

      public StandardServletAsyncWebRequest(HttpServletRequestEE request, HttpServletResponseEE response)
      指定されたリクエスト / レスポンスペアの新しいインスタンスを作成します。
      パラメーター:
      request - 現在の HTTP リクエスト
      response - 現在の HTTP レスポンス
  • メソッドの詳細

    • setTimeout

      public void setTimeout(@Nullable LongSE timeout)
      Servlet 3 非同期処理では、コンテナー処理スレッドが終了した後にタイムアウト期間が始まります。
      次で指定:
      インターフェース AsyncWebRequestsetTimeout 
      パラメーター:
      timeout - ミリ秒単位の時間。null はタイムアウトがないことを意味します。つまり、コンテナーのデフォルトのタイムアウトに依存します。
    • addTimeoutHandler

      public void addTimeoutHandler(RunnableSE timeoutHandler)
      インターフェースからコピーされた説明: AsyncWebRequest
      並行処理がタイムアウトしたときに呼び出すハンドラーを追加します。
      次で指定:
      インターフェース AsyncWebRequestaddTimeoutHandler 
    • addErrorHandler

      public void addErrorHandler(ConsumerSE<ThrowableSE> exceptionHandler)
      インターフェースからコピーされた説明: AsyncWebRequest
      リクエストの同時処理中にエラーが発生したときに呼び出すハンドラーを追加します。
      次で指定:
      インターフェース AsyncWebRequestaddErrorHandler 
    • addCompletionHandler

      public void addCompletionHandler(RunnableSE runnable)
      インターフェースからコピーされた説明: AsyncWebRequest
      リクエスト処理が完了したときに呼び出すハンドラーを追加します。
      次で指定:
      インターフェース AsyncWebRequestaddCompletionHandler 
    • isAsyncStarted

      public boolean isAsyncStarted()
      インターフェースからコピーされた説明: AsyncWebRequest
      AsyncWebRequest.startAsync() の呼び出し後、リクエストが非同期モードかどうか。非同期処理が開始されなかった場合、完了した場合、リクエストがさらなる処理のためにディスパッチされた場合、"false" を返します。
      次で指定:
      インターフェース AsyncWebRequestisAsyncStarted 
    • isAsyncComplete

      public boolean isAsyncComplete()
      非同期リクエスト処理が完了したかどうか。

      非同期処理が完了した後、リクエストオブジェクトとレスポンスオブジェクトの使用を避けることが重要です。サーブレットコンテナーは、しばしば再利用します。

      次で指定:
      インターフェース AsyncWebRequestisAsyncComplete 
    • startAsync

      public void startAsync()
      インターフェースからコピーされた説明: AsyncWebRequest
      非同期リクエスト処理の開始をマークして、メイン処理スレッドが終了したときに、別のスレッドでさらに処理するためにレスポンスが開いたままになるようにします。
      次で指定:
      インターフェース AsyncWebRequeststartAsync 
    • dispatch

      public void dispatch()
      インターフェースからコピーされた説明: AsyncWebRequest
      アプリケーションスレッドでの同時実行後に処理を再開するために、コンテナーにリクエストをディスパッチします。
      次で指定:
      インターフェース AsyncWebRequestdispatch 
    • onStartAsync

      public void onStartAsync(AsyncEventEE event) throws IOExceptionSE
      次で指定:
      インターフェース AsyncListenerEEonStartAsyncEE 
      例外:
      IOExceptionSE
    • onTimeout

      public void onTimeout(AsyncEventEE event) throws IOExceptionSE
      次で指定:
      インターフェース AsyncListenerEEonTimeoutEE 
      例外:
      IOExceptionSE
    • onError

      public void onError(AsyncEventEE event) throws IOExceptionSE
      次で指定:
      インターフェース AsyncListenerEEonErrorEE 
      例外:
      IOExceptionSE
    • onComplete

      public void onComplete(AsyncEventEE event) throws IOExceptionSE
      次で指定:
      インターフェース AsyncListenerEEonCompleteEE 
      例外:
      IOExceptionSE