Spring Boot 中定义的 REST API 是否自动处理多线程

Thu*_*mal 6 java rest spring-boot

我想在 Spring Boot 中创建一个可以处理大约 100TPS 的 REST API。假设我使用 Spring Boot 中的示例应用程序创建了一个基本的 REST api。这是否会自动处理多线程。让我们考虑下面的代码。

@RequestMapping(method = RequestMethod.POST, value="findByPackageActivationId")
@ResponseBody
public JSONObject findByPackageActivationId(@RequestBody IncomingRestObject incomingRestObject) {
    //My work here
}
Run Code Online (Sandbox Code Playgroud)

小智 6

默认情况下,Spring Boot Web 应用程序是多线程的,将同时处理多个请求。REST 控制器是多线程的,因为 DisptcherServlet 同时处理来自客户端的多个请求,并使用相应的控制器方法提供服务。您也可以更改任何默认线程设置(例如server.tomcat.max-threads)。欲了解更多信息,请参阅此处:-

https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc


Abh*_*eet 0

对于来自客户端的每个请求,服务器将创建一个新线程并将该请求分配给新创建的线程。您不必明确处理这个问题。

另外,根据您的要求(100 个线程),您可以在服务器上进行配置。您可以参考此链接将 tomcat 配置为 spri 的默认服务器。