Apache Tomcat 11 的发布标志着服务器开发的重大进步,它引入了与现代 Web 应用标准相一致的特性和改进,特别是支持即将发布的 Jakarta EE 11 GA 版本。该版本是从传统 Java EE 生态系统向现代 Jakarta EE 框架过渡的大趋势的一部分,Jakarta EE 框架强调模块化和更简化的开发体验。
Apache Tomcat 11 带来了多项值得关注的改进,其中最重要的是对虚拟线程的支持,虚拟线程是 Java 的 Loom 项目的一部分,在 JDK 21 中交付。虚拟线程是一种轻量级的并发模型,可以简化 Java 应用程序中的线程管理,提供比传统线程模型更具可扩展性的解决方案。
对于使用 WebSockets 的开发人员来说,Tomcat 11 提高了性能和可扩展性。WebSocket API 现已升级到 Jakarta WebSocket 2.2,能够更高效地处理客户端和服务器之间的实时双向通信。这些变更对于需要流式数据或实时更新的应用程序(如聊天应用或协作工具)尤为重要。Tomcat 对于 HTTP/2 和异步处理的支持是对 WebSocket 的改进的补充,确保了 Web 应用的响应速度和可扩展性。
Tomcat 11 还提供了对 Jakarta Servlet 6.1 的支持。这一升级改进了 Web 应用程序处理 HTTP 请求的方式,并完善了异步请求处理,为长期运行的任务提供了更好的性能。这使得 Tomcat 11 对现代 Web 应用程序来讲更加高效。
安全性仍然是最新版本的核心重点。Tomcat 11 在该领域引入了多项增强功能,首先是改进了 TLS/SSL 的默认配置,使管理员更容易建立安全的 HTTPS 连接。
Tomcat 11 还采用了现代开发实践,要求 Java SE 17 作为最低支持版本。这可确保 Tomcat 能够从最新的 Java 语言特性和性能改进中受益,包括增强的内存管理、record 类型和更高效的 switch 表达式。
在迁移到 Tomcat 11 时,有一个更具挑战性的方面那就是要求重构应用程序,以适应从javax.*
到jakarta.*
命名空间的转换。这对于任何从早期版本的 Tomcat 进行迁移开发人员来说都是一个根本性的变化,尤其是那些使用 Java EE 的开发人员。虽然 Tomcat 11 提供了支持这种过渡的 迁移工具,但仍需要进行仔细的测试,以确保应用程序在新的命名空间中能够继续正常运行。
Tomcat 项目始于 Sun Microsystems,是 Java Servlet 和 Java Server Pages 规范的参考实现。1999 年,Sun Microsystems 将 Tomcat 代码库捐赠给了 Apache 软件基金会,25 年前,Tomcat 代码首次提交到 ASF 仓库。Tomcat 11.0 标志着它成为 ASF 项目后的第九个重要版本。
查看英文原文:
Apache Tomcat 11.0 Delivers Support for Virtual Threads and Jakarta EE 11 (https://www.infoq.com/news/2024/11/tomcat-11/)
声明:本文由 InfoQ 翻译,未经许可禁止转载。
Chrome 被强制出售?谷歌或将抛弃 ChromeOS 全面转向 Android 系统
一朝成名,一夜破产!这家谷歌前高管创立的AI公司突然宣布倒闭,专家:这个行业不适合AI
一场泰森拳王比赛就能让上云鼻祖宕机,员工:周末不想加班修bug
别慌,Scaling Laws 的末日还早!“革新版”迅速出现,多位大牛都在叫好
就在 12 月 13 日 -14 日,AICon 将汇聚 70+ 位 AI 及技术领域的专家,深入探讨大模型与推理、AI Agent、多模态、具身智能等前沿话题。此外,还有丰富的圆桌论坛、以及展区活动,满足你对大模型实践的好奇与想象。现在正值 9 折倒计时,名额有限,快扫码咨询了解详情,别错过这次绝佳的学习与交流机会!