
在Jakarta EE 11最终发布之前,Jakarta EE 12 的准备工作正在顺利进行中,因为 2025 年初批准了 24 个 Jakarta EE规范的计划审查。
目前计划在 2026 年 7 月发布 GA 版本,根据发布计划,Jakarta EE 12 将专注于一致性和配置,并要求至少使用 JDK 21 以及对即将发布的 JDK 25 的支持。许多更新的规范将包括移除在 JDK 17 中被弃用并在 JDK 24 中被永久禁用的Java SecurityManager 类。这包括自 2022 年 9 月Jakarta EE 10 发布以来尚未更新的规范。
发布时间表
提议的 Jakarta EE 12 发布时间表如下图所示。

目前的计划是在 2025 年 9 月发布 Milestone 1。
Jakarta EE 12 规范
如下图所示的规范图,是对 Jakarta EE 12 平台拟议规范及其各自版本的初步概览。

我们将简要地检查一下上图中标记为 NEW
的三个规范。我们还将检查一些提议的变更。请注意,这三个规范需要由 Jakarta EE 指导委员会投票决定,才能纳入 Jakarta EE 12 平台。
Jakarta Query
Jakarta Query 1.0是 Jakarta EE 生态系统中的一个新规范,于 2025 年 4 月通过了创建审查,它定义了一种面向对象的语言,旨在支持Jakarta Persistence、Jakarta Data和 Jakarta NoSQL规范。
目的是将Jakarta Persistence Query Language(JPQL)和Jakarta Data Query Language (JDQL)转移到这个新规范中。也有可能支持其他与 Java 相关的持久化技术。
Jakarta NoSQL
Jakarta NoSQL 1.1是自 2020 年以来的一个独立规范,它定义了一组 API,并为大多数 NoSQL 数据库提供了标准实现,并简化了 Java 应用程序与这些数据库的集成。
提议的新功能包括:标准化驱动程序通信 API;支持新的 Jakarta Query 规范;并支持预准备语句。
Jakarta MVC
Jakarta MVC 3.1,也是自 2020 年以来的一个独立规范,定义了遵循基于动作的模型-视图-控制器模式创建 Web 应用程序的标准。
提议的新功能包括:支持 Jakarta RESTful Web Services ExceptionMapper
接口,以改善响应处理;并支持Jakarta Config规范。
其他新规范
Jakarta Portlet 4.0是 Jakarta EE 生态系统中的一个新规范,它在 2025 年 4 月通过了创建审查,定义了开发 Java 应用程序中的模块化和可重用 Web 组件(称为 portlet)的服务器端和客户端 API,这些组件在 portlet 容器中管理。这个新规范是从 Java EE 8 下的 JSR 362,Portlet规范3.0,迁移过来的。
Jakarta Portlet Bridge 7.0,Jakarta EE 生态系统中的另一个新规范,也在 2025 年 4 月通过了创建审查,它定义了在 Portlet 环境中操作Jakarta Faces应用程序所需的行为和 API。该桥接将 Jakarta Faces 生命周期与 Jakarta Portlet 生命周期对齐。这个新规范是从 JavaEE 8 下的 JSR 378,JavaServer Faces 2.2的Portlet 3.0桥接规范,迁移过来的。
Jakarta Portlet 和 Jakarta Portlet Bridge 的初步计划是“严格限于完成命名空间和依赖项迁移,以确保与 Jakarta EE 10 的兼容性,并为开发人员和组织提供便捷的迁移路径。”
预计这两个规范无法为 Jakarta EE 12 做好准备。
一致性
在 Jakarta EE 11 引入 Jakarta Data 之前,Jakarta Persistence 和 Jakarta NoSQL 是唯一的特定于数据访问的规范。
Jakarta Persistence 有着悠久的历史,可以追溯到 2006 年 5 月,最初是由Enterprise JavaBeans 3.0专家组(JSR 220)为 Java EE 5 的发布而开发的。
Jakarta NoSQL 项目从其最终实现 Eclipse JNoSQL 的开发之初便已启动,当时规范甚至还只是一个概念。Eclipse JNoSQL于 2017 年 3 月被引入 Java 社区,最初计划是在Java Community Process的支持下,由 OS Expert Services 的创始人Otávio Santana领导的一个社区项目。
Jakarta EE 12 将进一步推进数据访问技术,预计将 Jakarta Query 和 Jakarta NoSQL 规范纳入 Jakarta EE 平台。在最近的 InfoQ技术文章中,Santana 讨论了在 Jakarta EE 12 中改进的数据访问的优势,写道:
如果 Jakarta EE 12 可以有一个昵称,我们可以将其定义为数据时代,它将在 Jakarta EE 生态系统中包含多语言持久性。由于包含了 Jakarta NoSQL 1.1,它将使 Jakarta EE 能够“说”SQL 和 NoSQL。
2022 年 6 月引入的HTTP/3规范提供了新功能,如流多路复用、逐流的流量控制和低延迟连接建立。
支持 HTTP/3 的早期讨论可能包括一个新的 Jakarta HTTP 规范,该规范将创建一致性,以便在规范(如Jakarta RESTful Web Services和Jakarta Servlet)之间跟踪基于 HTTP 的请求和响应对象。
配置
Jakarta Config 1.0在 2021 年 10 月通过了创建审查,定义和管理通过环境变量、系统属性或属性文件的配置。受MicroProfile Config规范的启发,Jakarta Config 旨在从微服务中外部化配置,并在运行时注入配置值。
应用程序客户端容器的弃用
应用程序客户端容器(Application Client Container,ACC)于 2011 年 7 月随 GlassFish 3.1 的发布引入,管理 Jakarta EE 应用程序客户端组件的执行,这些组件用于从 Eclipse GlassFish Server 之外的 JVM 访问各种 Jakarta EE 服务,例如来自Jakarta Messaging的资源和来自Jakarta Enterprise Beans的组件。
弃用 ACC 是在 Jakarta EE 11 发布过程的后期提出的,因此最终决定在 Jakarta EE 11 中将此特性与 Remote EJB 一起声明为可选特性,以便在 Jakarta EE 12 中充分解决此问题。
Jakarta EE 未来发展方向兴趣小组
成立于 2024 年 7 月的 Jakarta EE未来方向兴趣小组汇集了“Java 相关工作组内外的开发者、有影响力的人和其他感兴趣的团体”。该小组承担了产生想法、开展研究和向Jakarta EE和MicroProfile工作组提供建议的角色。感兴趣的领域包括:新兴技术;新的行业用例;集成;以及消息传递和市场营销。到目前为止,参与成员(按字母顺序排列)包括:Garden State JUG、IBM、德国 Java 用户组协会(iJUG)、伦敦 Java 社区(LJC)、微软、OmniFish、OpenElements、甲骨文和 Payara。
关于最近发布的 Jakarta EE 11 以及即将发布的 Jakarta EE 12 的更多详细信息,可以在 Eclipse Foundation 的博客文章中找到。
编者注
[a] Michael Redlich 是 Garden State JUG 的联合主管,Jakarta Data 和 Jakarta NoSQL 规范的提交者,以及 Jakarta EE 未来方向兴趣小组的成员。
[b] Jakarta EE 12 图表由 Eclipse 基金会提供。
原文链接:
https://www.infoq.com/news/2025/08/jakarta-ee-12-consistency/
评论