写点什么

Java 新闻汇总:GraalVM、Spring AI、JobRunr、GlassFish、Grails、Groovy 和 Quarkus Agent MCP

作者: Michael Redlich
  • 2026-05-18
    北京
  • 本文字数:2498 字

    阅读完需:约 8 分钟

最近 Java 新闻的重点包括,多个面向 JDK27 的 OpenJDK JEP;Spring AI 2.0 发布第六个里程碑版本;Grails 8.0 发布首个里程碑版本;Groovy 6.0 发布首个 Alpha 版本;JobRunr 发布小版本更新;GlassFish、TomEE 和 Tomcat 发布维护版本;GraalVM 启用加速版的发布列车,以及 Quarkus CVE 的修复。

OpenJDK

在评审结束后,JEP533:结构化并发(Structured Concurrency,第七次预览)已经从 Proposed to Target 状态提升为 JDK 27 的 Targeted 状态。该 JEP 在 JDK 21 到 JDK 26 完成六轮预览、在 JDK 19 到 JDK 20 完成两轮孵化后,提出了第七轮预览,本次预览只有很小的调整。该特性通过引入结构化并发来简化并发编程,也就是“将运行在不同线程中的相关任务组视为一个工作单元,从而简化错误处理与取消流程,提升可靠性并增强可观测性。”

与之类似,JEP531:延迟常量(Lazy Constants,第三次预览)也已经从 Proposed to Target 状态提升为 JDK 27 的 Targeted 状态。该特性此前名为 StableValues,在即将发布的 JDK 26 和 JDK 25 中完成两轮预览后,此次第三次预览版本包含两处变更,一是从LazyConstant接口中移除isInitialized()orElse()方法,因为这两个方法不符合该特性的设计目标;二是新增ofLazy()工厂方法,该方法可以针对 Java 的三种集合类型(ListSetMap)创建稳定的预定义元素。

JDK 27

JDK 27早期访问构建版本Build 21发布,包含对 Build 20 的更新,并修复了多项问题。更多细节可参见发布说明

针对JDK 27,开发者可通过Java Bug Database提交缺陷报告。

GlassFish

Eclipse GlassFish 8.0.2 作为第二个维护版本,带来了缺陷修复、依赖升级以及两项新特性,也就是,在ApplicationClientDescriptor类中支持使用 Jakarta Enterprise Beans 的@EJB注解的beanName属性;移除定义在NetUtils类中的isThisHostLocal()方法,并以更健壮的isLocal()替代,以改进与 Java 的InetAddress类及主机名解析相关的行为。

该版本还修复了 Admin Console 中的两个尚未公开披露的 CVE,相关信息将很快发布。

更多细节可参见发布说明

Jakarta EE

在每周发布的Hashtag Jakarta EE博客中,Eclipse 基金会的 Jakarta EE 开发者布道师Ivar Grimstad分享了关于 Jakarta EE 12 的最新进展

Jakarta EE 12里程碑 4 版本提供更新的各项规范,目前进展看起来非常乐观。具体可查看本周会议的纪要。另一个关于 Jakarta EE 12 的好消息是,Jakarta NoSQL 项目可能把原计划在Jakarta NoSQL 1.2中的功能合并到Jakarta NoSQL 1.1,这意味着它将更有希望被纳入到 Jakarta EE 12 中。

另外,还有多项规范正在推进 Jakarta EE 12 的里程碑2版本发布,包括,Jakarta Connectors 3.0Jakarta Faces 5.0Jakarta Transactions 2.1以及Jakarta JSON Processing 2.2

GraalVM

GraalVM团队宣布了加速版的GraalVM发布列车,也就是,在保持 Oracle 季度关键补丁更新(Critical Patch Updates,CPU)的同时,新增按月发布的功能版本,并为每个大版本提供一条稳定的发布列车。这使 GraalVM 团队能够跟上当下快速演进的软件开发节奏,而 AI 正是推动这一节奏的重要因素。更多细节可见 Medium 上的这篇博客文章

Spring Framework

Spring AI 2.0.0 的第六个里程碑版本带来了缺陷修复、文档改进、依赖升级以及多项新特性,例如,在ChatModel接口新增buildRequestPrompt()方法,用于统一不同供应商间的行为,并避免将ChatOptions实例强转为供应商特定类型;此外,定义在OpenAiEmbeddingOptions类中的EncodingFormat已从String重定义为enum类型,以提升配置嵌入编码格式时的类型安全性。该版本还包含较多破坏性变更,更多信息见发布说明

JobRunr

JobRunr 8.6.0 版本发布,提供了缺陷修复、依赖升级和新特性,包括全面兼容 JDK 26。由于 JEP 500 让Final名副其实(Prepare to Make Final Mean Final)引入的 JVM 参数--illegal-final-field-mutation=deny已启用,代码库中所有对final字段的变更都已被移除;此外,还重构了DatabaseCreator类中的getAllTableNames()方法,以提升在超大表数量数据库场景下的性能。更多细节可参见发布说明

Quarkus

Quarkus 团队已经在 3.20、3.27、3.33、3.34 和 3.35 发布列车中提供了紧急维护版本,用于修复CVE-2026-39852。该漏洞允许攻击者在请求 URL 后追加分号及任意文本以绕过安全约束,进而未授权访问受保护资源。

该团队还推出Quarkus Agent MCP,这是一个独立运行的Model Context Protocol服务器,可让兼容的 AI 智能体“通过提供 Quarkus 专用工具、文档和扩展级编码模式,更高效地创建、管理并使用 Quarkus 应用,让 AI 智能体学会‘说 Quarkus’。”该服务器是现有 Dev MCP 服务器的补充,但以独立进程的方式运行,而非运行在 Quarkus 进程内部。

Grails

Apache Grails 8.0.0 的首个里程碑版本带来了缺陷修复、依赖升级以及一些重要变更,例如,移除已弃用源码和历史遗留行为;为Grails Application Forge应用的Access-Control-Allow-OriginCORS 头新增https://grails.apache.org域名,以便其迁移到 Apache Grails 官网。更多细节可参见发布说明

Groovy

Apache Groovy 6.0.0 的首个Alpha版本带来了缺陷修复、依赖升级以及新特性,包括,在DefaultGroovyMethods类中新增groupByMany()方法,用于返回对某个条目适用的键列表;新增@Modifies注解,用于声明方法允许修改的一组字段和参数。更多细节可参见发布说明

Apache TomEE

Apache TomEE 10.1.5发布,提供了缺陷修复、依赖升级和重要变更,例如,针对显式构造器类型资源,改进了@OpenIdAuthenticationMechanismDefinition注解中定义的redirectToOriginalResourcetokenAutoRefresh参数;在Assembler类中支持 JavaString类型以改进日志能力。更多细节可参见发布说明

Apache Tomcat

Apache Tomcat 11.0.22 版本发布,带来了缺陷修复和新特性,例如,更新version.shversion.bat文件,纳入Apache Portable Runtime(APR)、Tomcat Native Library和 OpenSSL 的版本信息,并增加版本兼容性警告及第三方库版本信息;同时改进了 HTTP/2 校验逻辑,使校验更早执行,并增加对不允许字符及大写字符的检查。更多细节可参见发布说明

查看英文原文:Java News Roundup: GraalVM, Spring AI, JobRunr, GlassFish, Grails, Groovy, Quarkus Agent MCP