类 AsyncWebRequest

java.lang.Object
cn.taketoday.web.context.async.AsyncWebRequest
直接已知子类:
StandardServletAsyncWebRequest

public abstract class AsyncWebRequest extends Object
Extends RequestContext with methods for asynchronous request processing.
从以下版本开始:
4.0
作者:
Rossen Stoyanchev, Harry Yang
  • 字段详细资料

  • 构造器详细资料

    • AsyncWebRequest

      public AsyncWebRequest()
  • 方法详细资料

    • setTimeout

      public void setTimeout(@Nullable Long timeout)
      Set the time required for concurrent handling to complete. This property should not be set when concurrent handling is in progress, i.e. when isAsyncStarted() is true.
      参数:
      timeout - amount of time in milliseconds; null means no timeout, i.e. rely on the default timeout of the container.
    • addTimeoutHandler

      public void addTimeoutHandler(Runnable timeoutHandler)
      Add a handler to invoke when concurrent handling has timed out.
    • addErrorHandler

      public void addErrorHandler(Consumer<Throwable> exceptionHandler)
      Add a handler to invoke when an error occurred while concurrent handling of a request.
    • addCompletionHandler

      public void addCompletionHandler(Runnable runnable)
      Add a handler to invoke when request processing completes.
    • isAsyncComplete

      public boolean isAsyncComplete()
      Whether asynchronous processing has completed.
    • dispatchEvent

      protected final void dispatchEvent(ArrayList<Runnable> handler)
    • startAsync

      public abstract void startAsync()
      Mark the start of asynchronous request processing so that when the main processing thread exits, the response remains open for further processing in another thread.
      抛出:
      IllegalStateException - if async processing has completed or is not supported
    • isAsyncStarted

      public abstract boolean isAsyncStarted()
      Whether the request is in async mode following a call to startAsync(). Returns "false" if asynchronous processing never started, has completed, or the request was dispatched for further processing.
    • dispatch

      public abstract void dispatch(Object concurrentResult)
      Dispatch the request to the container in order to resume processing after concurrent execution in an application thread.