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, getNativeResponse
checkNotModified, checkNotModified, getContextPath, getDescription, getHeader, getHeaderNames, getHeaderValues, getLocale, getParameter, getParameterMap, getParameterNames, getParameterValues, getRemoteUser, getUserPrincipal, isSecure, isUserInRole
getAttribute, getAttributeNames, getSessionId, getSessionMutex, registerDestructionCallback, removeAttribute, resolveReference, setAttribute
void 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()