org.springframework.web.context.request

## Interface AsyncWebRequestInterceptor

All Superinterfaces:
  WebRequestInterceptor

All Known Implementing Classes:
  Log4jNestedDiagnosticContextInterceptor, OpenEntityManagerInViewInterceptor, OpenSessionInViewInterceptor, OpenSessionInViewInterceptor

    public interface AsyncWebRequestInterceptor
    extends WebRequestInterceptor

Extends `WebRequestInterceptor` with a callback method invoked during asynchronous request handling.

When a handler starts asynchronous request handling, the DispatcherServlet exits without invoking `postHandle` and `afterCompletion`, as it normally does, since the results of request handling (e.g. ModelAndView) are not available in the current thread and handling is not yet complete. In such scenarios, the `afterConcurrentHandlingStarted(WebRequest)` method is invoked instead allowing implementations to perform tasks such as cleaning up thread bound attributes.

When asynchronous handling completes, the request is dispatched to the container for further processing. At this stage the DispatcherServlet invokes `preHandle`, `postHandle` and `afterCompletion` as usual.

Since:
  3.2
Author:
  Rossen Stoyanchev
See Also:
  `WebAsyncManager`

### Method Summary

Methods
`void` `afterConcurrentHandlingStarted(WebRequest request)` Called instead of `postHandle` and `afterCompletion`, when the the handler started handling the request concurrently.

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

`afterCompletion, postHandle, preHandle`

### Method Detail

#### afterConcurrentHandlingStarted

    void afterConcurrentHandlingStarted(WebRequest request)

Called instead of `postHandle` and `afterCompletion`, when the the handler started handling the request concurrently.

Parameters:
  `request` - the current request