Package jakarta.servlet
Interface AsyncContext
public interface AsyncContext
Provides the context for asynchronous request handling
- Since:
- Servlet 3.0
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
The attribute name for the Context Path of the async requeststatic final String
The attribute name for the Mapping of the async requeststatic final String
The attribute name for the Path Info of the async requeststatic final String
The attribute name for the Query String of the async requeststatic final String
The attribute name for the URI of the async requeststatic final String
The attribute name for the Servlet Path of the async request -
Method Summary
Modifier and TypeMethodDescriptionvoid
addListener
(AsyncListener listener) Adds an event listener that will be called for different AsyncEvents firevoid
addListener
(AsyncListener listener, ServletRequest request, ServletResponse response) Adds an event listener that will be called when different AsyncEvents firevoid
complete()
Completes the async request processing and closes the response stream<T extends AsyncListener>
TcreateListener
(Class<T> clazz) Creates and returns an AsyncListener objectvoid
dispatch()
void
dispatch
(ServletContext context, String path) void
long
Get the current timeout.boolean
void
setTimeout
(long timeout) Set the timeout.void
Starts a new thread to process the asynchronous request
-
Field Details
-
ASYNC_REQUEST_URI
-
ASYNC_CONTEXT_PATH
The attribute name for the Context Path of the async request- See Also:
-
ASYNC_MAPPING
-
ASYNC_PATH_INFO
The attribute name for the Path Info of the async request- See Also:
-
ASYNC_SERVLET_PATH
The attribute name for the Servlet Path of the async request- See Also:
-
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 afterServletRequest.startAsync()
orServletRequest.startAsync(ServletRequest, ServletResponse)
has been called and beforecomplete()
or any other dispatch() method has been called.
-
dispatch
- Parameters:
path
- The path to which the request/response should be dispatched relative to theServletContext
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 afterServletRequest.startAsync()
orServletRequest.startAsync(ServletRequest, ServletResponse)
has been called and beforecomplete()
or any other dispatch() method has been called.
-
dispatch
- Parameters:
context
- TheServletContext
to which the request/response should be dispatched.path
- The path to which the request/response should be dispatched relative to the specifiedServletContext
.- Throws:
IllegalStateException
- if this method is called when the request is not in asynchronous mode. The request is in asynchronous mode afterServletRequest.startAsync()
orServletRequest.startAsync(ServletRequest, ServletResponse)
has been called and beforecomplete()
or any other dispatch() method has been called.
-
complete
void complete()Completes the async request processing and closes the response stream -
start
Starts a new thread to process the asynchronous request- Parameters:
run
- a Runnable that the new thread will run
-
addListener
Adds an event listener that will be called for different AsyncEvents fire- Parameters:
listener
- an AsyncListener that will be called with AsyncEvent objects
-
addListener
Adds an event listener that will be called when different AsyncEvents fire- Parameters:
listener
- an AsyncListener that will be called with AsyncEvent objectsrequest
- the ServletRequest that will be passed with the AsyncEventresponse
- the ServletResponse that will be passed with the AsyncEvent
-
createListener
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.
-