SpringBoot 内置 Tomcat 线程数优化配置
warning:
这篇文章距离上次修改已过182天,其中的内容可能已经有所变动。
import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer;
import org.apache.catalina.connector.Connector;
import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory;
import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class TomcatConfig {
@Bean
public ServletWebServerFactory servletContainer() {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
tomcat.addAdditionalTomcatConnectors(createConnector());
return tomcat;
}
private Connector createConnector() {
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setPort(8080);
// 自定义线程池配置
connector.setProperty("executor.name", "myExecutor");
connector.setProperty("executor.namePrefix", "myTomcatThreadPool-");
connector.setProperty("executor.maxThreads", "200"); // 最大线程数
connector.setProperty("executor.minSpareThreads", "20"); // 最小空闲线程数
connector.setProperty("executor.maxIdleTime", "60000"); // 线程最大空闲时间(毫秒)
return connector;
}
}
这段代码演示了如何在Spring Boot应用中配置Tomcat的额外连接器,并设置它使用的线程池参数。这可以帮助你根据应用的需求优化处理请求的线程数。
评论已关闭