Class AsyncSupportConfigurer

java.lang.Object
org.springframework.web.servlet.config.annotation.AsyncSupportConfigurer

public class AsyncSupportConfigurer extends Object
Helps with configuring options for asynchronous request processing.
Since:
3.2
Author:
Rossen Stoyanchev
  • Constructor Details

    • AsyncSupportConfigurer

      public AsyncSupportConfigurer()
  • Method Details

    • setTaskExecutor

      public AsyncSupportConfigurer setTaskExecutor(AsyncTaskExecutor taskExecutor)
      The provided task executor is used for the following:
      1. Handle Callable controller method return values.
      2. Perform blocking writes when streaming to the response through a reactive (e.g. Reactor, RxJava) controller method return value.

      If your application has controllers with such return types, please configure an AsyncTaskExecutor as the one used by default is not suitable for production under load.

      Parameters:
      taskExecutor - the task executor instance to use by default
    • setDefaultTimeout

      public AsyncSupportConfigurer setDefaultTimeout(long timeout)
      Specify the amount of time, in milliseconds, before asynchronous request handling times out. In Servlet 3, the timeout begins after the main request processing thread has exited and ends when the request is dispatched again for further processing of the concurrently produced result.

      If this value is not set, the default timeout of the underlying implementation is used.

      Parameters:
      timeout - the timeout value in milliseconds
    • registerCallableInterceptors

      public AsyncSupportConfigurer registerCallableInterceptors(CallableProcessingInterceptor... interceptors)
      Configure lifecycle interceptors with callbacks around concurrent request execution that starts when a controller returns a Callable.
      Parameters:
      interceptors - the interceptors to register
    • registerDeferredResultInterceptors

      public AsyncSupportConfigurer registerDeferredResultInterceptors(DeferredResultProcessingInterceptor... interceptors)
      Configure lifecycle interceptors with callbacks around concurrent request execution that starts when a controller returns a DeferredResult.
      Parameters:
      interceptors - the interceptors to register
    • getTaskExecutor

      @Nullable protected AsyncTaskExecutor getTaskExecutor()
    • getTimeout

      @Nullable protected Long getTimeout()
    • getCallableInterceptors

      protected List<CallableProcessingInterceptor> getCallableInterceptors()
    • getDeferredResultInterceptors

      protected List<DeferredResultProcessingInterceptor> getDeferredResultInterceptors()