文章目录
19.1 基本介绍
-
SpringBoot 支持的 webServer 有如下几个:
- Tomcat
- Jetty
- Undertow
- SpringBoot 应用启动是 Web 应用时,web 场景包-默认导入 tomcat
- 支持对 Tomcat(也可以是 Jetty 、Undertow)的配置和切换
19.2 内置 Tomcat 的配置
19.2.1 通过 application.yml 完成配置
server:
#配置端口
port: 9999
tomcat: #对Tomcat进行配置
threads:
max: 10 #最大的工作线程,默认是 200
min-spare: 5 #最小工作线程,默认是 10
accept-count: 200 #Tomcat启动的线程达到最大值(max-connections),接受排队的请求个数,默认是 100
max-connections: 2000 #最大连接数,并发数
connection-timeout: 10000 #建立连接的超时时间,单位是毫秒,这里设置的是 10秒
# 还有很多其他配置...可以查看 SpringBoot 第2章节 配置大全
19.2.2 通过类来配置 Tomcat
- 通过类来配置 Tomcat(说明:配置文件可配置的更全 ),创建 com/xjs/springboot/config/CustomizationBean.java
package com.xjs.springboot.config;
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory;
import org.springframework.stereotype.Component;
/**
* @Author: 谢家升
* @Version: 1.0
*
* 通过类来配置Tomcat
*/
@Component
public class CustomizationBean implements WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> {
@Override
public void customize(ConfigurableServletWebServerFactory server) {
server.setPort(5200); //设置server的端口为 5200
}
}
- 注销 application.yml 对 tomcat 配置,完成测试
19.3 切换 WebServer,演示如何切换成 Undertow
- 修改 pom.xml ,排除 tomcat ,加入 Undertow 包的依赖
<!--导入web项目场景启动器: 会自动导入和web开发相关的所有依赖[库/jar]-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!--排除spring-boot-starter-tomcat -->
<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 相关类/接口,就会报错,注销/删除这部分代码即可,运行项目,完成测试
- 测试完毕,我还是改回成 Tomcat