Package javax.servlet

Interface AsyncContext


public interface AsyncContext
Provides the context for asynchronous request handling
Since:
Servlet 3.0
  • Field Details

    • ASYNC_REQUEST_URI

      static final String ASYNC_REQUEST_URI
      The attribute name for the URI of the async request
      See Also:
    • ASYNC_CONTEXT_PATH

      static final String ASYNC_CONTEXT_PATH
      The attribute name for the Context Path of the async request
      See Also:
    • ASYNC_PATH_INFO

      static final String ASYNC_PATH_INFO
      The attribute name for the Path Info of the async request
      See Also:
    • ASYNC_SERVLET_PATH

      static final String ASYNC_SERVLET_PATH
      The attribute name for the Servlet Path of the async request
      See Also:
    • ASYNC_QUERY_STRING

      static final String ASYNC_QUERY_STRING
      The attribute name for the Query String of the async request
      See Also:
  • Method Details

    • getRequest

      ServletRequest getRequest()
      Returns:
      a reference to the ServletRequest object
    • getResponse

      ServletResponse getResponse()
      Returns:
      a reference to the ServletResponse object
    • hasOriginalRequestAndResponse

      boolean hasOriginalRequestAndResponse()
      Returns:
      true if the Request and Response are the original ones
    • dispatch

      void dispatch()
      Throws:
      IllegalStateException - if this method is called when the request is not in asynchronous mode. The request is in asynchronous mode after ServletRequest.startAsync() or ServletRequest.startAsync(ServletRequest, ServletResponse) has been called and before complete() or any other dispatch() method has been called.
    • dispatch

      void dispatch(String path)
      Parameters:
      path - The path to which the request/response should be dispatched relative to the ServletContext from which this async request was started.
      Throws:
      IllegalStateException - if this method is called when the request is not in asynchronous mode. The request is in asynchronous mode after ServletRequest.startAsync() or ServletRequest.startAsync(ServletRequest, ServletResponse) has been called and before complete() or any other dispatch() method has been called.
    • dispatch

      void dispatch(ServletContext context, String path)
      Parameters:
      path - The path to which the request/response should be dispatched relative to the specified ServletContext.
      context - The ServletContext to which the request/response should be dispatched.
      Throws:
      IllegalStateException - if this method is called when the request is not in asynchronous mode. The request is in asynchronous mode after ServletRequest.startAsync() or ServletRequest.startAsync(ServletRequest, ServletResponse) has been called and before complete() or any other dispatch() method has been called.
    • complete

      void complete()
      Completes the async request processing and closes the response stream
    • start

      void start(Runnable run)
      Starts a new thread to process the asynchronous request
      Parameters:
      run - a Runnable that the new thread will run
    • addListener

      void addListener(AsyncListener listener)
      Adds an event listener that will be called for different AsyncEvents fire
      Parameters:
      listener - an AsyncListener that will be called with AsyncEvent objects
    • addListener

      void addListener(AsyncListener listener, ServletRequest request, ServletResponse response)
      Adds an event listener that will be called when different AsyncEvents fire
      Parameters:
      listener - an AsyncListener that will be called with AsyncEvent objects
      request - the ServletRequest that will be passed with the AsyncEvent
      response - the ServletResponse that will be passed with the AsyncEvent
    • createListener

      <T extends AsyncListener> T createListener(Class<T> clazz) throws ServletException
      Creates and returns an AsyncListener object
      Type Parameters:
      T - The type to create that extends AsyncListener
      Parameters:
      clazz - The class to instantiate to create the listener
      Returns:
      the newly created AsyncListener object
      Throws:
      ServletException - if the listener cannot be created
    • setTimeout

      void setTimeout(long timeout)
      Set the timeout.
      Parameters:
      timeout - The timeout in milliseconds. 0 or less indicates no timeout.
    • getTimeout

      long getTimeout()
      Get the current timeout.
      Returns:
      The timeout in milliseconds. 0 or less indicates no timeout.