SpringBoot-内置 Tomcat 配置和切换

  |   0 评论   |   0 浏览

SpringBoot-内置 Tomcat 配置和切换

1.基本介绍

  1. SpringBoot 支持的 webServer: Tomcat, Jetty, or Undertow

image-20220813225437155

image-20220813225527927

  1. SpringBoot 应用启动是 Web 应用时。web 场景包-导入 tomcat
  2. 支持对 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

  1. 通过类来配置 Tomcat(说明: 配置文件可配置的更全.)
  2. 注销 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 相关类/接口,就会报 错,注销/删除这部分代码即可 , 运行项目,完成测试


标题:SpringBoot-内置 Tomcat 配置和切换
作者:llp
地址:https://llinp.cn/articles/2022/08/13/1660405310955.html