10 月 23 - 25 日,QCon 上海站即将召开,9折优惠最后2天 了解详情
写点什么

Jakarta EE 12 将侧重于一致性和配置

  • 2025-08-15
    北京
  • 本文字数:2460 字

    阅读完需:约 8 分钟

大小:1.22M时长:07:05
Jakarta EE 12将侧重于一致性和配置

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 PersistenceJakarta DataJakarta 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 ServicesJakarta 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 EEMicroProfile工作组提供建议的角色。感兴趣的领域包括:新兴技术;新的行业用例;集成;以及消息传递和市场营销。到目前为止,参与成员(按字母顺序排列)包括: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/

2025-08-15 10:496317

评论

发布
暂无评论

数据类型转换

Hello

架构设计作业1——食堂就餐卡系统设计

Andy风

神奇的梦想

霍太稳@极客邦科技

身心健康 个人成长 目标管理

UML 建模

师哥

if语句

Hello

switch 语句

Hello

架构师训练营第1周学习总结

Season

极客大学架构师训练营

架构师训练营第一周总结

Hugo

初步架构想法

极客大学架构师训练营

「架构师训练营」Week01 作业+总结

PowerZhang

极客大学架构师训练营

游戏夜读 | 毛利率有多少?

game1night

讲一个程序员如何副业月赚三万的真实故事

非著名程序员

程序员 独立开发者 副业赚钱 提升认知

[Go] 写一个守护协程的通用套路是什么?

eddix

pattern Go 语言

位运算

Hello

重学 Java 设计模式:实战装饰器模式(SSO单点登录功能扩展,增加拦截用户访问方法范围场景)

小傅哥

设计模式 小傅哥 重构 代码质量 代码坏味道

架构师训练营作业

Hanson

架构师训练营第一周总结

Hanson

食堂就餐卡系统设计

Lane

食堂就餐卡系统设计

Season

极客大学架构师训练营

架构师训练营作业--Week1

吴炳华

比Webpack更高效的Rollup入门指南

费马

大前端 Rollup 打包 webpack

解决出海网络难题 融云保障 MiniJoy 千万印度用户流畅互动

Geek_116789

食堂就餐卡系统设计

GalaxyCreater

【大厂面试04期】讲讲一条MySQL更新语句是怎么执行的?

NotFound9

MySQL 数据库 后端

极客时间第0期架构师训练营第一周总结

2流程序员

四个和成长有关的小故事

霍太稳@极客邦科技

团队管理 TGO鲲鹏会 团队组织 职业成长

架构课程心得

dj_cd

极客大学架构师训练营

第一周.UML课后作业

西柚

UML

再下一城 三六零收购织语CCwork深化“智慧办公”生态布局

人称T客

剖析Golang Context:从使用场景到源码分析

伴鱼技术团队

源码分析 并发编程 程序语言 Context Go 语言

食堂就餐卡系统设计

Coder的技术之路

Jakarta EE 12将侧重于一致性和配置_编程语言_Michael Redlich_InfoQ精选文章