public class StandardServletAsyncWebRequest extends ServletWebRequest implements AsyncWebRequest, AsyncListener
AsyncWebRequest.
 The servlet and all filters involved in an async request must have async
 support enabled using the Servlet API or by adding an
 <async-supported>true</async-supported> element to servlet and filter
 declarations in web.xml.
DESTRUCTION_CALLBACK_NAME_PREFIX, immutableValueTypesrequestDestructionCallbacksREFERENCE_REQUEST, REFERENCE_SESSION, SCOPE_REQUEST, SCOPE_SESSION| Constructor and Description | 
|---|
| StandardServletAsyncWebRequest(HttpServletRequest request,
                              HttpServletResponse response)Create a new instance for the given request/response pair. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | addCompletionHandler(Runnable runnable)Add a handler to invoke when request processing completes. | 
| void | addErrorHandler(Consumer<Throwable> exceptionHandler)Add a handler to invoke when an error occurred while concurrent
 handling of a request. | 
| void | addTimeoutHandler(Runnable timeoutHandler)Add a handler to invoke when concurrent handling has timed out. | 
| void | dispatch()Dispatch the request to the container in order to resume processing after
 concurrent execution in an application thread. | 
| boolean | isAsyncComplete()Whether async request processing has completed. | 
| boolean | isAsyncStarted()Whether the request is in async mode following a call to  AsyncWebRequest.startAsync(). | 
| void | onComplete(AsyncEvent event) | 
| void | onError(AsyncEvent event) | 
| void | onStartAsync(AsyncEvent event) | 
| void | onTimeout(AsyncEvent event) | 
| void | setTimeout(Long timeout)In Servlet 3 async processing, the timeout period begins after the
 container processing thread has exited. | 
| 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. | 
checkNotModified, checkNotModified, checkNotModified, getContextPath, getDescription, getHeader, getHeaderNames, getHeaderValues, getHttpMethod, getLocale, getNativeRequest, getNativeRequest, getNativeResponse, getNativeResponse, getParameter, getParameterMap, getParameterNames, getParameterValues, getRemoteUser, getUserPrincipal, isNotModified, isSecure, isUserInRole, toStringgetAttribute, getAttributeNames, getRequest, getResponse, getSession, getSessionId, getSessionMutex, isImmutableSessionAttribute, registerDestructionCallback, registerSessionDestructionCallback, removeAttribute, resolveReference, setAttribute, updateAccessedSessionAttributesisRequestActive, registerRequestDestructionCallback, removeRequestDestructionCallback, requestCompletedclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetNativeRequest, getNativeRequest, getNativeResponse, getNativeResponsecheckNotModified, checkNotModified, checkNotModified, getContextPath, getDescription, getHeader, getHeaderNames, getHeaderValues, getLocale, getParameter, getParameterMap, getParameterNames, getParameterValues, getRemoteUser, getUserPrincipal, isSecure, isUserInRolegetAttribute, getAttributeNames, getSessionId, getSessionMutex, registerDestructionCallback, removeAttribute, resolveReference, setAttributepublic StandardServletAsyncWebRequest(HttpServletRequest request, HttpServletResponse response)
request - current HTTP requestresponse - current HTTP responsepublic void setTimeout(Long timeout)
setTimeout in interface AsyncWebRequesttimeout - amount of time in milliseconds; null means no
        timeout, i.e. rely on the default timeout of the container.public void addTimeoutHandler(Runnable timeoutHandler)
AsyncWebRequestaddTimeoutHandler in interface AsyncWebRequestpublic void addErrorHandler(Consumer<Throwable> exceptionHandler)
AsyncWebRequestaddErrorHandler in interface AsyncWebRequestpublic void addCompletionHandler(Runnable runnable)
AsyncWebRequestaddCompletionHandler in interface AsyncWebRequestpublic boolean isAsyncStarted()
AsyncWebRequestAsyncWebRequest.startAsync().
 Returns "false" if asynchronous processing never started, has completed,
 or the request was dispatched for further processing.isAsyncStarted in interface AsyncWebRequestpublic boolean isAsyncComplete()
It is important to avoid use of request and response objects after async processing has completed. Servlet containers often re-use them.
isAsyncComplete in interface AsyncWebRequestpublic void startAsync()
AsyncWebRequeststartAsync in interface AsyncWebRequestpublic void dispatch()
AsyncWebRequestdispatch in interface AsyncWebRequestpublic void onStartAsync(AsyncEvent event) throws IOException
onStartAsync in interface AsyncListenerIOExceptionpublic void onError(AsyncEvent event) throws IOException
onError in interface AsyncListenerIOExceptionpublic void onTimeout(AsyncEvent event) throws IOException
onTimeout in interface AsyncListenerIOExceptionpublic void onComplete(AsyncEvent event) throws IOException
onComplete in interface AsyncListenerIOException