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

2026-05-18 1 阅读 作者: Michael Redlich
最近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的三种集合类型(List、Set和Map)创建稳定的预定义元素。 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.0 "、 Jakarta Faces 5.0 "、 Jakarta 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注解,用于声明方法允许