• 19. 内置 Tomcat 配置和切换



    19.1 基本介绍

    1. SpringBoot 支持的 webServer 有如下几个:

      • Tomcat
      • Jetty
      • Undertow

    在这里插入图片描述

    1. SpringBoot 应用启动是 Web 应用时,web 场景包-默认导入 tomcat
    2. 支持对 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章节 配置大全
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述

    19.2.2 通过类来配置 Tomcat

    1. 通过类来配置 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
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    1. 注销 application.yml 对 tomcat 配置,完成测试

    在这里插入图片描述

    19.3 切换 WebServer,演示如何切换成 Undertow

    1. 修改 pom.xml ,排除 tomcat ,加入 Undertow 包的依赖
            
            <dependency>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-starter-webartifactId>
                
                <exclusions>
                    <exclusion>
                        <groupId>org.springframework.bootgroupId>
                        <artifactId>spring-boot-starter-tomcatartifactId>
                    exclusion>
                exclusions>
            dependency>
    
            
            <dependency>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-starter-undertowartifactId>
            dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    1. 说明:因为去掉了 tomcat 的依赖,所以项目有使用到 tomcat 相关类/接口,就会报错,注销/删除这部分代码即可,运行项目,完成测试

    在这里插入图片描述

    在这里插入图片描述

    1. 测试完毕,我还是改回成 Tomcat
  • 相关阅读:
    什么是Java动态代理?(动态代理篇 一)
    Kubernetes(k8s) 架构原理一文详解
    C语言时间操作详解
    274. H 指数
    每日一练 | 华为认证真题练习Day114
    UE4 钥匙开门
    【电源专题】电源芯片封装的选择
    刚办的手机号码为什么停机?那文章赶快了解一下吧。
    深入理解 Python 虚拟机:元组(tuple)的实现原理及源码剖析
    Dubbo源码理解
  • 原文地址:https://blog.csdn.net/weixin_60766221/article/details/126355872