Java 近期资讯:OpenJDK JEP、Jakarta EE 12、Spring Framework、Micrometer、Camel、JBang
点击查看原文>
OpenJDK
JEP 534(默认采用紧凑对象头)已从 JEP Draft 8361187 升级为候选状态。该提案将 JEP 519(紧凑对象头)(已随 JDK 25 发布)设为 HotSpot JVM 中的默认对象头布局。要了解有关紧凑对象头的更多详情,请参阅InfoQ 的这篇新闻报道。
JEP 533(结构化并发第七个预览版)已从 JEP Draft 8373610升级为候选状态。其第七个预览版做了一些细微的调整。此前,该特性已在 JDK 21 至 JDK 26 中经历了六轮预览,并在 JDK 19 和 JDK 20 中经历了两轮孵化。该特性通过引入结构化并发来简化并发编程,旨在“将运行在不同线程中的相关任务组视为同一个工作单元,从而简化错误处理和取消操作,提高可靠性,并增强可观测性。”
JDK 27
JDK 27 的早期访问构建Build 18 发布,它是 Build 17 的升级,修复了各种问题。要了解关于这个构建的更多细节,请查看发布说明。
对于 JDK 27,我们鼓励开发者通过 Java Bug 数据库报告缺陷。
Jakarta EE
在每周博客 “Hashtag Jakarta EE” 中,Eclipse 基金会 Jakarta EE 开发大使 Ivar Grimstad 介绍了 Jakarta EE 12 的最新进展,他在文中写道:
Jakarta EE 12 包含多个里程碑版本,这些版本正在不断地完善以反映当前的最新进展。在上周的平台会议上,平台项目组针对其中的几个里程碑版本设定了预期目标。首先发布的是 Milestone 4 ,其中属于 Jakarta EE Core Profile 的规范预计将以里程碑或 Beta 测试版的形式呈现进展。
M4:2026 年 4 月 1 日到 5 月 15 日
Jakarta RESTful Web Services 5.0-M1 API/specification
Jakarta Contexts and Dependency Injection 5.0 Milestone/Beta (当前版本为 Alpha4 )
Jakarta JSON Processing 2.2-M1 API/specification
Jakarta JSON Binding 3.1-M1 API/specification
M5:2026 年 5 月 16 日到 6 月 30 日
内容待定义
M6:2026 年 1 月 1 日到 8 月 15 日
内容待定义
M7:2026 年 8 月 15 日到 9 月 30 日
理想情况下,我们这会会发布 Core Profile ,或者稍后发布
M8:2026 年 10 月 1 日到 11 月 15 日
内容待定义
M9:2027 年 1 月 1 日到 2 月 15 日
最终敲定其他所有规范
M10:2027 年 2 月 16 日到 3 月 31 日
发布包含认证实现的 TCK 平台
“平台项目”将通过为每个里程碑添加具体目标来进一步完善这个时间表。请注意,即使某个里程碑没有列出相关规范,也不妨碍该规范提前发布。如果当前计划得以实施,我们应该可以在 2026 年第四季度发布 Jakarta EE Core Profile,而 Jakarta EE Web Profile 和 Jakarta EE Platform 则将于明年第一或第二季度发布。这与 Jakarta EE 11 的发布模式一致。
目前,针对 Jakarta EE 12 的第二个里程碑版本,还有其他一些规范正在制定当中,包括: Jakarta Connectors 3.0、 Jakarta Faces 5.0、 Jakarta Transactions 2.1 和 Jakarta JSON Processing 2.2 。
Spring Framework
Spring Framework 7.0.7 和 6.2.18 发布,带来 Bug 修复、文档改进、依赖项升级以及以下新功能,包括:通过预先识别绑定问题,提升 SpringValidatorAdapter 和 MethodValidatorAdapter 类中的内省性能;新增 RestClientXhrTransport 类,作为 RestTemplateXhrTransport 类基于 RestClient 的变体。
这些版本还修复了三个与 Spring MVC 和 WebFlux 相关的 CVE:
CVE-2026-22740( 在 WebFlux 中使用多部分请求时的 Spring Framework DoS 漏洞)使攻击者可以利用多部分请求处理完成后可能保留临时文件的情况将可用磁盘空间耗尽。
CVE-2026-22741( Spring MVC 和 WebFlux 中的静态资源缓存投毒)允许攻击者在特定条件下发送恶意请求,使用错误的编码污染资源缓存,导致前端应用程序无法正常运行,进而引发拒绝服务攻击。
CVE-2026-22745(Windows 平台静态资源处理中的拒绝服务漏洞)允许攻击者在特定条件下发送恶意请求,而这些请求解析速度缓慢,并且会占用 HTTP 连接,可以导致应用程序拒绝服务。
要了解有关这些版本的更多详细信息,请参阅7.0.7 和6.2.18 版本的发布说明。
Spring Data 2026.0.0 首个候选版本(RC)发布,包含 Bug 修复、依赖项升级以及一些新功能,包括:新增 RedisMessageSendingTemplate 类,该类基于 Spring Framework 的 MessageSendingOperations 接口并支持可配置的 MessageConverter,它提供了一种消息发送模板,与基于注解的发布/订阅监听器形成互补;新增 ResetStrategy 接口,支持在使用 Redis 时进行缓存重置和优化。要了解有关该版本的更多详细信息,请参阅发布说明。
Grails
Apache Grails 7.1.0 发布,带来多项显著的变更,包括:新增了 标签,它可以将 ${flash.message}、${flash.error} 和 ${flash.warning} 模板渲染为可关闭的 Bootstrap 警告框 标签,并应用相应的样式;此外,其 Geb 集成中新增了对上下文路径的支持,可以改善多项目环境中的测试编写体验。要了解有关该版本的更多详细信息,请参阅发布说明。
Micrometer
Micrometer Metrics 1.17.0 首个候选版本(RC)发布,带来 Bug 修复、依赖项升级以及以下新功能:针对 JDK 25 中添加到 Java ForkJoinPool 类的 getDelayedTaskCount() 方法,新增了一个名为 executor.delayed的仪表指标,从而与该类中 getQueuedTaskCount() 方法的指标保持一致; 针对 JDK 26 中添加到 Java MemoryMXBean 接口中的 getTotalGcCpuTime()方法,新增了一个函数计数器指标,用于统计垃圾回收活动的累计 CPU 时间。要了解有关该版本的更多详细信息,请参阅发布说明。
Eclipse Store/Serializer
Eclipse Store 和 Eclipse Serializer 4.1.0 的首个 Beta 测试版发布,带来 Bug 修复以及以下新功能:新增 BatchStorer 接口,用于高效地管理批量持久化操作;增强 StorageManager 接口中定义的 root() 和 setRoot() 方法,以支持泛型类型。要了解有关该版本的更多详细信息,请参阅 Store 4.1.0-beta1 和 Serializer 4.1.0-beta1 的发布说明。
Apache Camel
Apache Camel 4.19.0 发布,带来 Bug 修复、依赖项升级以及以下新功能:新增 Camel 组件,包括 Azure Functions 、Groovy JSON 和 Spring AI Image;改进 PQC Algorithms 组件,现已支持混合加密、密钥生命周期管理以及平台级量子安全 TLS 就绪;在 Camel Spring Boot 中支持 Spring Boot 4.0 。要了解有关该版本的更多详细信息,请参阅发布说明和这篇博文。
JBang
JBang 0.138.0 版本发布,带来 Bug 修复、文档改进以及一项新功能,它使 JBang 能够像处理 JAR 文件一样处理 WAR 文件。出于向后兼容的考虑,在Project 类中定义但已弃用的 isJar() 方法仍然被保留了下来。要了解有关该版本的更多详细信息,请参阅发布说明。
原文链接:
https://www.infoq.com/news/2026/04/java-news-roundup-apr13-2026/
本文来源:InfoQ