内置Tomcat配置和切换
2023年11月17日大约 2 分钟约 391 字
基本介绍
- SpringBoot 支持的 webServer: Tomcat, Jetty, or Undertow

- SpringBoot 应用启动是 Web 应用时。web 场景包-导入 tomcat
- 支持对 Tomcat(也可以是 Jetty 、Undertow)的配置和切换
内置 Tomcat 的配置
通过 application.yml 完成配置
配置和 ServerProperties.java 关联,通过查看源码得知有哪些属性配置
server:
# 配置端口
port: 9999
tomcat: #对tomcat配置
threads:
max: 10 #最大的工作线程, 默认是200
min-spare: 5 #最小工作线程, 默认是10
accept-count: 200 #tomcat启动的线程达到最大值, 接受排队的请求个数,默认100
max-connections: 2000 #最大连接数, 并发数
connection-timeout: 10000 #建立连接的超时时间, 单位是毫秒
通过类来配置 Tomcat
创建 src/main/java/com/lzw/springboot/config/CustomizationBean.java
package com.lzw.springboot.config;
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory;
import org.springframework.stereotype.Component;
/**
* @author LiAng
*/
@Component
public class CustomizationBean implements WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> {
@Override
public void customize(ConfigurableServletWebServerFactory server) {
server.setPort(10000); //我们设置了server的端口为10000
}
}
切换 WebServer, 演示如何切换成 Undertow
修改 pom.xml , 排除 tomcat , 加入 Undertow 包的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!--排除tomcat starter-->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--引入undertow-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
</dependency>
提示:因为去掉了 tomcat 的依赖,所以项目有使用到 tomcat 相关类/接口,就会报错,注销/删除这部分代码即可。测试完记得改回去。