当前位置: 首页 > news >正文

忍痛割爱,Spring Boot 宣布移除 Undertow!!

大家好,我是R哥。

Spring Boot 4.0.0-RC1 最近发布了,虽然还没有发布正式版,但从最新的《Spring Boot 4.0 迁移指南》中发现,Spring Boot 4.0 已经移除了对 Undertow 嵌入式 Servlet 容器的支持

Spring Boot 4.0+ 之后,嵌入式 Servlet 容器只支持 Tomcat 和 Jetty 了。

Undertow 扫盲:

Undertow 是一个基于非阻塞 IO、专门为高性能设计的轻量级 Java Web 服务器,一直是小而美的存在,它是 Tomcat、Jetty 三者中最轻量的一个。

Undertow 体积更小,启动更快,在许多基准测试中,QPS 明显优于 Tomcat 和 Jetty

为什么 Spring Boot 4.0 要移除 Undertow?

因为 Spring Boot 4.0+ 已经升级到了 Servlet 6.1+ 规范,但 Undertow 却不支持 Servlet 6.1+,所以 Spring Boot 只能忍痛割爱,移除了对 Undertow 的支持。

Spring Boot 4.0 放弃 Undertow 的直接原因是:Undertow 不支持 Servlet 6.1+

另外,可能还有以下原因:

1、Undertow 社区相对较小,文档、学习资料等方面都不如 Tomcat、Jetty 丰富,对于传统 Servlet 模型的支持也那么完善。

2、Undertow 由 Red Hat / JBoss 开源,后来并入 WildFly 服务器并作为其默认 Web 容器。Red Hat 的重心一直是企业级项目,对免费开源的并不上心,CentOS 7.x 的停服就是前车之鉴,Undertow 这波也是直接摆烂了

3、Undertow 一直以来都不是一个主流的 Web 服务器/容器,使用率极低,在国内更没有什么存在感。所以,Spring Boot 移除对 Undertow 的支持影响也不大。

所以,强烈建议 Spring Boot 4.0 不要用 Undertow 了,也不要把 Spring Boot 4.0 的应用部署到不兼容 Servlet 6.1 的容器里


以后,Spring Boot 嵌入式 Servlet 容器的的圈子里只有 Tomcat + Jetty 了,Jetty 是当前 Undertow 被踢出局后,唯一还活着的非 Tomcat 选手,轻量、快、配置灵活,对于极简 Web 项目依然是个不错选择。

默认为 Tomcat,如果你要切换为 Jetty,可以使用以下配置:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusions><!-- 排除默认的 Tomcat 容器依赖 --><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId></exclusion></exclusions>
</dependency>
<!-- 使用 Jetty -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jetty</artifactId>
</dependency>

Spring Boot 基础就不介绍了,推荐看这个实战项目:

https://github.com/javastacks/spring-boot-best-practice

好了,今天的分享就到这里了,后面R哥会分享更多好玩的 Java 技术和最新的技术资讯,关注公众号Java技术栈第一时间推送。

版权声明: 本文系公众号 "Java技术栈" 原创,转载、引用本文内容请注明出处,抄袭、洗稿一律投诉侵权,后果自负,并保留追究其法律责任的权利。

http://www.gsyq.cn/news/33999.html

相关文章:

  • Git 免密认证:Git Credential Helper
  • 类和对象-对象的特性project4
  • 人人聘招聘系统:多端协同的企业招聘解决方案
  • 喵喵估价回收系统:一站式闲置回收解决方案,赋能回收行业数字化升级
  • 向量数据库chroma
  • 云原生向量数据库Milvus知识大全,看完这篇就够了[基本概念、系统架构、主要组件、应用场景]
  • Ubuntu Netplan
  • 2025年成品岗亭供货厂家权威推荐榜单:成品门卫亭/小区保安亭/执法岗亭源头厂家精选
  • 实时期货、黄金贵金属、外汇数据接口文档
  • python动态加载插件 - ling
  • 实用指南:C++设计模式_结构型模式_适配器模式Adapter
  • rbd元数据
  • 2025年不锈钢编织绳网柔性加工厂权威推荐榜单:不锈钢编织绳网围网/不锈钢手工编织绳网/焊接不锈钢编织绳网源头厂家精选
  • onBeforeMount 和 onMounted区分总结
  • Linux应用(6)——网络通信/TCP/IP - 详解
  • 2025 年 pe 板源头厂家最新推荐榜,技术实力与市场口碑深度解析,精选优质企业pp 板 pe 板/耐腐蚀 pe 板/耐磨 pe 板公司推荐
  • 关于如何解决HP笔记本键盘失灵的方法
  • ({behavior: smooth}) 在移动端不生效的问题解决 ios不平滑,使用smoothscroll-polyfill(页面平滑滚动)插件
  • ArkTS语言(三)
  • [转] 封装超时工具方法
  • 2025年激光熔覆涂层制造厂权威推荐:熔覆激光/高速激光熔覆/激光熔覆源头厂家精选
  • 学术会议会议合集 | 大数据、智慧医学 、数据管理 、计算机科学 、管理科学等EI会议合集
  • K8S使用开源CEPH作为后端StorageClass
  • 2025 年锅炉厂家最新推荐榜:智能控制与稳定可靠品牌综合测评结果及优质厂商名单电锅炉/蒸汽锅炉/燃气锅炉/燃油锅炉/电蒸汽锅炉公司推荐
  • Python自动化之Docx文档处理(二)
  • 探索Go语言性能优化:全面解析pprof工具
  • Bcache详解及踩坑记录
  • 什么是跨网域资源共享(CROS)
  • 从经验到数据:MyEMS 如何推动能源管理的范式升级?
  • 2025 年试压泵厂家最新推荐榜,技术实力与市场口碑深度解析,展现国产设备卓越性能四缸电动/三缸电动/水管/大流量电动/柴油动力试压泵公司推荐