Skip to content

Incorrect Javadoc regarding default Tomcat async request timeout #24030

@adammichalik

Description

@adammichalik

Where Spring WebMvc allows to configure async request timeout, the Javadoc mentions the following:

/**
 * Specify the amount of time, in milliseconds, before concurrent handling
 * should time 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.
 * <p>If this value is not set, the default timeout of the underlying
 * implementation is used, e.g. 10 seconds on Tomcat with Servlet 3.
 * @param timeout the timeout value in milliseconds
 */

I found these in Spring WebMvc in org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter#setAsyncRequestTimeout and org.springframework.web.servlet.config.annotation.AsyncSupportConfigurer#setDefaultTimeout

However, actually the default timeout in Tomcat is 30 seconds as noted in this comment: https://github.com/apache/tomcat/blob/master/java/org/apache/catalina/core/AsyncContextImpl.java#L74 and indeed set to the default 30000 ms here: https://github.com/apache/tomcat/blob/master/java/org/apache/catalina/connector/Connector.java#L134

I suggest the Spring WebMvc documentation to be adjusted or the explicit value to be removed altogether from the Javadoc.

Metadata

Metadata

Assignees

Labels

in: webIssues in web modules (web, webmvc, webflux, websocket)type: taskA general task

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions