SpringBoot-内置 Tomcat 配置和切换
1.基本介绍
- SpringBoot 支持的 webServer: Tomcat, Jetty, or Undertow
- SpringBoot 应用启动是 Web 应用时。web 场景包-导入 tomcat
- 支持对 Tomcat(也可以是 Jetty 、Undertow)的配置和切换
2.内置 Tomcat 的配置
1.通过 application.yml 完成配置
server:
#配置端口
port: 9999
#对tomcat进行配置
tomcat:
threads:
#表示最大的工作线程(银行有10个柜台,每个柜台处理200个请求 10*200=最大连接数),默认是200
max: 10
#最小工作线程默认是10
min-spare: 5
#tomcat启动的线程达到最大值,接受排队的请求个数,默认100
accept-count: 200
#最大连接数,并发数
max-connections: 2000
#建立连接的超时时间,默认20秒,单位毫秒
connection-timeout: 10000
2.通过类来配置 Tomcat
-
通过类来配置 Tomcat(说明: 配置文件可配置的更全.)
-
注销 application.yml 对 tomcat 配置,完成测试
/**
* 通过类来配置Tomcat
*/
@Component
public class CustomizationBean implements WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> {
@Override
public void customize(ConfigurableServletWebServerFactory server) {
server.setPort(10000); //我们设置了server的端口为10000
}
}
3.切换 WebServer, 演示如何切换成 Undertow
1.排除调内嵌的tomcat依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
2.引入undertow依赖
<!-- 引入 undertow -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
</dependency>
3.说明: 因为去掉了 tomcat 的依赖,所以项目有使用到 tomcat 相关类/接口,就会报 错,注销/删除这部分代码即可 , 运行项目,完成测试