Interface AsyncContext


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

      • ASYNC_REQUEST_URI

        static final java.lang.String ASYNC_REQUEST_URI
        The attribute name for the URI of the async request
        See Also:
        Constant Field Values
      • ASYNC_CONTEXT_PATH

        static final java.lang.String ASYNC_CONTEXT_PATH
        The attribute name for the Context Path of the async request
        See Also:
        Constant Field Values
      • ASYNC_MAPPING

        static final java.lang.String ASYNC_MAPPING
        The attribute name for the Mapping of the async request
        See Also:
        Constant Field Values
      • ASYNC_PATH_INFO

        static final java.lang.String ASYNC_PATH_INFO
        The attribute name for the Path Info of the async request
        See Also:
        Constant Field Values
      • ASYNC_SERVLET_PATH

        static final java.lang.String ASYNC_SERVLET_PATH
        The attribute name for the Servlet Path of the async request
        See Also:
        Constant Field Values
      • ASYNC_QUERY_STRING

        static final java.lang.String ASYNC_QUERY_STRING
        The attribute name for the Query String of the async request
        See Also:
        Constant Field Values
    • Method Detail

      • 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
      • complete

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

        void start​(java.lang.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​(java.lang.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.