Class AsyncContextImpl

java.lang.Object
org.apache.catalina.core.AsyncContextImpl
All Implemented Interfaces:
AsyncContext, AsyncContextCallback

public class AsyncContextImpl extends Object implements AsyncContext, AsyncContextCallback
  • Field Details

  • Constructor Details

    • AsyncContextImpl

      public AsyncContextImpl(Request request)
  • Method Details

    • complete

      public void complete()
      Description copied from interface: jakarta.servlet.AsyncContext
      Completes the async request processing and closes the response stream
      Specified by:
      complete in interface AsyncContext
    • fireOnComplete

      public void fireOnComplete()
      Specified by:
      fireOnComplete in interface AsyncContextCallback
    • timeout

      public boolean timeout()
    • dispatch

      public void dispatch()
      Specified by:
      dispatch in interface AsyncContext
    • dispatch

      public void dispatch(String path)
      Specified by:
      dispatch in interface AsyncContext
      Parameters:
      path - The path to which the request/response should be dispatched relative to the ServletContext from which this async request was started.
    • dispatch

      public void dispatch(ServletContext servletContext, String path)
      Specified by:
      dispatch in interface AsyncContext
      Parameters:
      servletContext - The ServletContext to which the request/response should be dispatched.
      path - The path to which the request/response should be dispatched relative to the specified ServletContext.
    • getRequest

      public ServletRequest getRequest()
      Specified by:
      getRequest in interface AsyncContext
      Returns:
      a reference to the ServletRequest object
    • getResponse

      public ServletResponse getResponse()
      Specified by:
      getResponse in interface AsyncContext
      Returns:
      a reference to the ServletResponse object
    • start

      public void start(Runnable run)
      Description copied from interface: jakarta.servlet.AsyncContext
      Starts a new thread to process the asynchronous request
      Specified by:
      start in interface AsyncContext
      Parameters:
      run - a Runnable that the new thread will run
    • addListener

      public void addListener(AsyncListener listener)
      Description copied from interface: jakarta.servlet.AsyncContext
      Adds an event listener that will be called for different AsyncEvents fire
      Specified by:
      addListener in interface AsyncContext
      Parameters:
      listener - an AsyncListener that will be called with AsyncEvent objects
    • addListener

      public void addListener(AsyncListener listener, ServletRequest servletRequest, ServletResponse servletResponse)
      Description copied from interface: jakarta.servlet.AsyncContext
      Adds an event listener that will be called when different AsyncEvents fire
      Specified by:
      addListener in interface AsyncContext
      Parameters:
      listener - an AsyncListener that will be called with AsyncEvent objects
      servletRequest - the ServletRequest that will be passed with the AsyncEvent
      servletResponse - the ServletResponse that will be passed with the AsyncEvent
    • createListener

      public <T extends AsyncListener> T createListener(Class<T> clazz) throws ServletException
      Description copied from interface: jakarta.servlet.AsyncContext
      Creates and returns an AsyncListener object
      Specified by:
      createListener in interface AsyncContext
      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
    • recycle

      public void recycle()
    • isStarted

      public boolean isStarted()
    • setStarted

      public void setStarted(Context context, ServletRequest request, ServletResponse response, boolean originalRequestResponse)
    • hasOriginalRequestAndResponse

      public boolean hasOriginalRequestAndResponse()
      Specified by:
      hasOriginalRequestAndResponse in interface AsyncContext
      Returns:
      true if the Request and Response are the original ones
    • doInternalDispatch

      protected void doInternalDispatch() throws ServletException, IOException
      Throws:
      ServletException
      IOException
    • getTimeout

      public long getTimeout()
      Description copied from interface: jakarta.servlet.AsyncContext
      Get the current timeout.
      Specified by:
      getTimeout in interface AsyncContext
      Returns:
      The timeout in milliseconds. 0 or less indicates no timeout.
    • setTimeout

      public void setTimeout(long timeout)
      Description copied from interface: jakarta.servlet.AsyncContext
      Set the timeout.
      Specified by:
      setTimeout in interface AsyncContext
      Parameters:
      timeout - The timeout in milliseconds. 0 or less indicates no timeout.
    • isAvailable

      public boolean isAvailable()
      Description copied from interface: AsyncContextCallback
      Reports if the web application associated with this async request is available.
      Specified by:
      isAvailable in interface AsyncContextCallback
      Returns:
      true if the associated web application is available, otherwise false
    • setErrorState

      public void setErrorState(Throwable t, boolean fireOnError)
    • incrementInProgressAsyncCount

      public void incrementInProgressAsyncCount()
      Description copied from interface: AsyncContextCallback
      Used to notify the Context that async processing has started. Specifically, for the counting of in-progress async requests to work correctly, this must be called exactly once every time the AsyncStateMachine transitions from DISPATCHED to any other state.
      Specified by:
      incrementInProgressAsyncCount in interface AsyncContextCallback
    • decrementInProgressAsyncCount

      public void decrementInProgressAsyncCount()
      Description copied from interface: AsyncContextCallback
      Used to notify the Context that async processing has ended. Specifically, for the counting of in-progress async requests to work correctly, this must be called exactly once every time the AsyncStateMachine transitions to DISPATCHED from any other state.
      Specified by:
      decrementInProgressAsyncCount in interface AsyncContextCallback