码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 65.Undertow代替Tomcat


    SpringBoot中我们既可以使用Tomcat作为Http服务,也可以用Undertow来代替。Undertow在高并发业务场景中,性能优于Tomcat。所以,如果我们的系统是高并发请求,不妨使用一下Undertow,你会发现你的系统性能会得到很大的提升。

    1、ruoyi-framework\pom.xml模块修改web容器依赖,使用undertow来替代tomcat容器

    ruoyi-framework中


     
        org.springframework.boot
        spring-boot-starter-web
        
            
                 spring-boot-starter-tomcat
                 org.springframework.boot
            

        

    ruoyi-admin中添加

        org.springframework.boot
        spring-boot-starter-undertow

    2、修改application.yml,使用undertow来替代tomcat容器

    1. # 开发环境配置
    2. server:
    3. # 服务器的HTTP端口,默认为80
    4. port: 80
    5. servlet:
    6. # 应用的访问路径
    7. context-path: /
    8. # undertow 配置
    9. undertow:
    10. # HTTP post内容的最大大小。当值为-1时,默认值为大小是无限的
    11. max-http-post-size: -1
    12. # 以下的配置会影响buffer,这些buffer会用于服务器连接的IO操作,有点类似netty的池化内存管理
    13. # 每块buffer的空间大小,越小的空间被利用越充分
    14. buffer-size: 512
    15. # 是否分配的直接内存
    16. direct-buffers: true
    17. threads:
    18. # 设置IO线程数, 它主要执行非阻塞的任务,它们会负责多个连接, 默认设置每个CPU核心一个线程
    19. io: 8
    20. # 阻塞任务线程池, 当执行类似servlet请求阻塞操作, undertow会从这个线程池中取得线程,它的值设置取决于系统的负载
    21. worker: 256

    3、修改文件上传工具类FileUploadUtils.java

    1. private static final File getAbsoluteFile(String uploadDir, String fileName) throws IOException
    2. {
    3. File desc = new File(uploadDir + File.separator + fileName);
    4. if (!desc.getParentFile().exists())
    5. {
    6. desc.getParentFile().mkdirs();
    7. }
    8. // undertow文件上传,因底层实现不同,无需创建新文件
    9. // if (!desc.exists())
    10. // {
    11. // desc.createNewFile();
    12. // }
    13. return desc;
    14. }

  • 相关阅读:
    评价——TOPSIS
    数据库上机实验2 单表查询和嵌套查询
    【JavaScript】fetch 处理流式数据,实现类 chatgpt 对话
    如何在Linux上安装Tomcat
    STM32MP157按键中断实验
    VMWare 虚拟机如何通过新增挂载点的方式扩展磁盘空间
    基于HTML美食餐饮文化项目的设计与实现 HTML学生网页设计作业 计算机毕业设计 HTML+CSS+JavaScript
    基于Java的农资采购销售管理系统设计与实现(源码+lw+部署文档+讲解等)
    CentOS7设置添加shell脚本开机自动启动服务
    C#重启 --- 语言基础2
  • 原文地址:https://blog.csdn.net/m0_45209551/article/details/134407072
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号