Apache Tomcat 11.0 提供对虚拟线程和 Jakarta EE 11 的支持

Apache Tomcat 11 发布概述

Apache Tomcat 11 的发布标志着该服务器开发过程中的重要进展,引入了多项功能和改进,使其更符合现代 Web 应用标准,特别是支持即将发布的 Jakarta EE 11 GA 版本。此次发布是从传统的 Java EE 生态系统向更现代化的 Jakarta EE 框架过渡的一部分,后者强调模块化和更简化的开发体验。

主要特性与改进

  1. 虚拟线程支持
    Tomcat 11 引入了对虚拟线程的支持,这是 Java Project Loom 的一部分,并在 JDK 21 中实现。虚拟线程是一种轻量级的并发模型,简化了 Java 应用中的线程管理,提供了比传统线程模型更具扩展性的解决方案。
  2. WebSocket 性能提升
    Tomcat 11 在 WebSocket 方面提供了更高的性能和扩展性。WebSocket API 已升级至 Jakarta WebSocket 2.2,能够更高效地处理客户端与服务器之间的实时双向通信。这些改进特别适用于需要流数据或实时更新的应用,如聊天应用或协作工具。
  3. Jakarta Servlet 6.1 支持
    Tomcat 11 支持 Jakarta Servlet 6.1,改进了 Web 应用处理 HTTP 请求的方式,并优化了异步请求处理,为长时间运行的任务提供了更好的性能。
  4. 安全增强
    安全性仍然是 Tomcat 11 的核心关注点。此版本引入了多项安全改进,包括更好的 TLS/SSL 默认配置,使管理员能够更轻松地建立安全的 HTTPS 连接。
  5. 最低 Java SE 17 支持
    Tomcat 11 要求至少使用 Java SE 17,确保能够利用最新的 Java 语言特性和性能改进,包括增强的内存管理、记录和更高效的 switch 表达式。

迁移挑战

javax.*jakarta.* 命名空间的切换是迁移到 Tomcat 11 的主要挑战之一。这一变化对于从早期 Tomcat 版本迁移的开发者,特别是那些使用 Java EE 的开发者来说,是一个根本性的变化。尽管 Tomcat 11 提供了迁移工具支持这一过渡,但仍需仔细测试以确保应用在新命名空间下正常运行。

历史背景

Tomcat 项目最初起源于 Sun Microsystems,作为 Java Servlet 和 Java Server Pages 规范的参考实现。1999 年,Sun Microsystems 将 Tomcat 代码库捐赠给 Apache 软件基金会(ASF),并于 25 年前首次将 Tomcat 代码提交到 ASF 仓库。Tomcat 11.0 是作为 ASF 项目以来的第九个主要版本。

总结

Apache Tomcat 11 通过引入虚拟线程、提升 WebSocket 性能、支持 Jakarta Servlet 6.1、增强安全性以及要求最低 Java SE 17 版本,显著提升了现代 Web 应用的能力。尽管迁移到新版本需要应对命名空间变化的挑战,但 Tomcat 11 提供了必要的工具和功能,帮助开发者更高效地构建和管理 Web 应用。

阅读 79
0 条评论