public interface AsyncWebRequest extends NativeWebRequest
NativeWebRequest
with methods for asynchronous request processing.REFERENCE_REQUEST, REFERENCE_SESSION, SCOPE_REQUEST, SCOPE_SESSION
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 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, 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(@Nullable 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 addErrorHandler(Consumer<Throwable> exceptionHandler)
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()