org.springframework.web.servlet.config.annotation

Class AsyncSupportConfigurer

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


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

      • AsyncSupportConfigurer

        public AsyncSupportConfigurer()
    • Method Detail

      • setTaskExecutor

        public AsyncSupportConfigurer setTaskExecutor(AsyncTaskExecutor taskExecutor)
        The provided task executor is used to:
        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.

        By default only a SimpleAsyncTaskExecutor is used. However when using the above two use cases, it's recommended to configure an executor backed by a thread pool such as ThreadPoolTaskExecutor.

        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, e.g. 10 seconds on Tomcat with Servlet 3.

        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
      • getTimeout

        @Nullable
        protected java.lang.Long getTimeout()