修改pom.xml:

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <!-- 移除掉默认支持的 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>

相关配置:

server:
  port: 8080
  http2:
    enabled: true
  undertow:
    #io-threads:IO线程数, 它主要执行非阻塞的任务,它们会负责多个连接,默认设置每个CPU核心一个线程
    #不可设置过大,否则启动项目会报错:打开文件数过多。
    io-threads: 16
    #worker-threads:阻塞任务线程池,当执行类似servlet请求阻塞IO操作,undertow会从这个线程池中取得线程。
    #它的值取决于系统线程执行任务的阻塞系数,默认值是 io-threads*8
    worker-threads: 256
    ## 以下的配置会影响buffer,这些buffer会用于服务器连接的IO操作,有点类似netty的池化内存管理
    # 每块buffer的空间大小,越小的空间被利用越充分,不要设置太大,以免影响其他应用,合适即可
    buffer-size: 1024
    # 每个区分配的buffer数量 , 所以pool的大小是buffer-size * buffers-per-region
    buffers-per-region: 1024
    #direct-buffers:是否分配的直接内存(NIO直接分配的堆外内存)
    direct-buffers: true
    # 设置 HTTP POST 内容的最大长度,默认不做限制
    max-http-post-size: 0
    accesslog:
      # 是否打开 undertow 日志,默认为 false
      enabled: false
      # 设置访问日志所在目录
      dir: logs

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Captcha Code