public interface AsyncWebRequest extends NativeWebRequest
NativeWebRequest with methods for asynchronous request processing.REFERENCE_REQUEST, REFERENCE_SESSION, SCOPE_GLOBAL_SESSION, SCOPE_REQUEST, SCOPE_SESSION| Modifier and Type | Method and Description |
|---|---|
void |
addCompletionHandler(Runnable runnable)
Add a handle to invoke when request processing completes.
|
void |
addTimeoutHandler(Runnable runnable)
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 asynchronous processing has completed.
|
boolean |
isAsyncStarted()
Whether the request is in async mode following a call to
startAsync(). |
void |
setTimeout(Long timeout)
Set the time required for concurrent handling to complete.
|
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.
|
getNativeRequest, getNativeRequest, getNativeResponse, getNativeResponsecheckNotModified, checkNotModified, getContextPath, getDescription, getHeader, getHeaderNames, getHeaderValues, getLocale, getParameter, getParameterMap, getParameterNames, getParameterValues, getRemoteUser, getUserPrincipal, isSecure, isUserInRolegetAttribute, getAttributeNames, getSessionId, getSessionMutex, registerDestructionCallback, removeAttribute, resolveReference, setAttributevoid setTimeout(Long timeout)
isAsyncStarted() is true.timeout - amount of time in milliseconds; null means no
timeout, i.e. rely on the default timeout of the container.void addTimeoutHandler(Runnable runnable)
void addCompletionHandler(Runnable runnable)
void startAsync()
IllegalStateException - if async processing has completed or is not supportedboolean isAsyncStarted()
startAsync().
Returns "false" if asynchronous processing never started, has completed,
or the request was dispatched for further processing.void dispatch()
boolean isAsyncComplete()