org.springframework.web.context.request.async

## Class NoSupportAsyncWebRequest

- java.lang.Object
- - org.springframework.web.context.request.AbstractRequestAttributes
  - - org.springframework.web.context.request.ServletRequestAttributes
    - - org.springframework.web.context.request.ServletWebRequest
      - - org.springframework.web.context.request.async.NoSupportAsyncWebRequest

All Implemented Interfaces:
  AsyncWebRequest, NativeWebRequest, RequestAttributes, WebRequest

    public class NoSupportAsyncWebRequest
    extends ServletWebRequest
    implements AsyncWebRequest

An `AsyncWebRequest` to use when there is no underlying async support.

Since:
  3.2
Author:
  Rossen Stoyanchev

### Field Summary

### Fields inherited from class org.springframework.web.context.request.ServletRequestAttributes

`DESTRUCTION_CALLBACK_NAME_PREFIX`

### Fields inherited from class org.springframework.web.context.request.AbstractRequestAttributes

`requestDestructionCallbacks`

### Fields inherited from interface org.springframework.web.context.request.RequestAttributes

`REFERENCE_REQUEST, REFERENCE_SESSION, SCOPE_GLOBAL_SESSION, SCOPE_REQUEST, SCOPE_SESSION`

### Constructor Summary

Constructors
Constructor and Description
`NoSupportAsyncWebRequest(HttpServletRequest request, HttpServletResponse response)`

### Method Summary

Methods
`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 `AsyncWebRequest.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.

### Methods inherited from class org.springframework.web.context.request.ServletWebRequest

`checkNotModified, checkNotModified, getContextPath, getDescription, getHeader, getHeaderNames, getHeaderValues, getLocale, getNativeRequest, getNativeRequest, getNativeResponse, getNativeResponse, getParameter, getParameterMap, getParameterNames, getParameterValues, getRemoteUser, getResponse, getUserPrincipal, isNotModified, isSecure, isUserInRole, toString`

### Methods inherited from class org.springframework.web.context.request.ServletRequestAttributes

`getAttribute, getAttributeNames, getRequest, getSession, getSessionId, getSessionMutex, registerDestructionCallback, registerSessionDestructionCallback, removeAttribute, resolveReference, setAttribute, updateAccessedSessionAttributes`

### Methods inherited from class org.springframework.web.context.request.AbstractRequestAttributes

`isRequestActive, registerRequestDestructionCallback, removeRequestDestructionCallback, requestCompleted`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.springframework.web.context.request.NativeWebRequest

`getNativeRequest, getNativeRequest, getNativeResponse, getNativeResponse`

### Methods inherited from interface org.springframework.web.context.request.WebRequest

`checkNotModified, checkNotModified, getContextPath, getDescription, getHeader, getHeaderNames, getHeaderValues, getLocale, getParameter, getParameterMap, getParameterNames, getParameterValues, getRemoteUser, getUserPrincipal, isSecure, isUserInRole`

### Methods inherited from interface org.springframework.web.context.request.RequestAttributes

`getAttribute, getAttributeNames, getSessionId, getSessionMutex, registerDestructionCallback, removeAttribute, resolveReference, setAttribute`

### Constructor Detail

#### NoSupportAsyncWebRequest

    public NoSupportAsyncWebRequest(HttpServletRequest request,
                            HttpServletResponse response)

### Method Detail

#### addCompletionHandler

    public void addCompletionHandler(Runnable runnable)

Description copied from interface: `AsyncWebRequest`
Add a handle to invoke when request processing completes.

Specified by:
  `addCompletionHandler` in interface `AsyncWebRequest`

#### setTimeout

    public void setTimeout(Long timeout)

Description copied from interface: `AsyncWebRequest`
Set the time required for concurrent handling to complete. This property should not be set when concurrent handling is in progress, i.e. when `AsyncWebRequest.isAsyncStarted()` is `true`.

Specified by:
  `setTimeout` in interface `AsyncWebRequest`
Parameters:
  `timeout` - amount of time in milliseconds; `null` means no timeout, i.e. rely on the default timeout of the container.

#### addTimeoutHandler

    public void addTimeoutHandler(Runnable runnable)

Description copied from interface: `AsyncWebRequest`
Add a handler to invoke when concurrent handling has timed out.

Specified by:
  `addTimeoutHandler` in interface `AsyncWebRequest`

#### isAsyncStarted

    public boolean isAsyncStarted()

Description copied from interface: `AsyncWebRequest`
Whether the request is in async mode following a call to `AsyncWebRequest.startAsync()`. Returns "false" if asynchronous processing never started, has completed, or the request was dispatched for further processing.

Specified by:
  `isAsyncStarted` in interface `AsyncWebRequest`

#### startAsync

    public void startAsync()

Description copied from interface: `AsyncWebRequest`
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.

Specified by:
  `startAsync` in interface `AsyncWebRequest`

#### isAsyncComplete

    public boolean isAsyncComplete()

Description copied from interface: `AsyncWebRequest`
Whether asynchronous processing has completed.

Specified by:
  `isAsyncComplete` in interface `AsyncWebRequest`

#### dispatch

    public void dispatch()

Description copied from interface: `AsyncWebRequest`
Dispatch the request to the container in order to resume processing after concurrent execution in an application thread.

Specified by:
  `dispatch` in interface `AsyncWebRequest`