
本周 Java 综述:SpringOne 的 2021 年 8 月 30 日的特性新闻中披露了 Spring Framework 6.0 和 Spring Boot 3.0 的路线图、OpenJDK JEPs 的更新、JDK 18、Quarkus 2.1 和 2.2 发行系列的更新、MicroProfile API 候选发行版、Open Liberty 21.0.0.9、Hibernate 5.6.0.Beta1、GraaIVM Native Build Tools 0.9.4 和一个新的用于 Helidon 程序的 JHipster 项目。
OpenJDK
对于 JDK 18,JEP 400(默认情况下为UTF-8)已从 Proposed to Target 状态提升到 Integrated 状态。这个 JEP 规定UTF-8是标准 Java APIs 的默认字符集,来确保在所有实现、操作系统、区域设置和配置中保持一致性。
在升级到 Proposed to Target 状态一周后,JEP 413(Java API 文档中的代码片段)已经升级到 JDK 18 的 Targeted 状态。该 JEP 为 Oracle 的Standard Doclet引入了@snippet
标记,这是一个众所周知的 Java API 文档工具,可生成默认的 HTML 格式的输出。其目的是简化 API 文档中示例源代码的包含。
JEP 418(互联网地址解析 SPI,Internet-Address Resolution SPI)已从 Draft 状态提升到 Candidate 状态。该 JEP 建议为主机名和地址解析定义一个服务提供者接口,以便java.net.InetAddress
可以利用默认的内置 OpenJDK 解析器之外的解析器。
Azul 的开源项目高级主管Geertjan Wielenga, 发起了一场“用 OpenJDK 工作”活动,以突出在 OpenJDK 之上构建的应用程序。这场活动鼓励 Java 开发者添加如下所示的徽章。例如,这个徽章可以添加到应用程序 GitHub 仓库的README.md
文件中。

JDK 17
JDK 17 仍处于候选发布(release candidate)阶段,预计将于 2021 年 9 月 14 日发布 GA 版本。InfoQ 将随后发布更详细的新闻报道。
JDK 18
JDK 18 的早期访问版中的第13版在上周发布,其中包含了第 12 版的更新,包括对各种问题的修复。更多详细信息可以参见发布说明。
对于JDK 17和JDK 18,开发者都被鼓励通过Java Bug Database来报告 bug。
Quarkus
Red Hat 为 Quarkus 2.1 和 2.2 发行系列提供了点发行版。
Quarkus 2.2.1.Final定义为修复问题并改进可用性和文档的强化版本,其特点是升级到 GraaIVM 21.2;通过添加属性quarkus.devservices.enabled=false
禁用所有的 DevServices 能力。一个用于 RESTEasy Reactive 的增强的线程模型,可以根据 REST 方法选择阻塞或非阻塞;引入对 MongoDB 服务绑定的支持,以及用于运行Narayana Long-Running Actions的扩展插件。
Quarkus 2.1.4.Final,第 4 个维护版本,其特点是:修复了在application.properties
文件中应用quarkus.redis.devservices.enabled=false
时出现的"Unable to connect to DOCKER_HOST URI''错误;移除了不必要的DevServices 关闭钩子;使用/q/dev/3
端点解决内部服务器错误;在不推荐使用的属性quarkus.resteasy.metrics.enabled=true
上应用建议的属性quarkus.smallrye-metrics.jaxrs.enabled=true
时删除警告。更多详情可以参见变更日志。
Open Liberty
IBM发布了 Open Liberty 21.0.0.9,支持MicroProfile 4.1,即对等应用程序服务组之间的自主事务对等恢复;今年早些时候引入的新日志格式TBASIC
已提供给consoleFormat
和messageFormat
日志,已补充对traceFormat
日志的现有支持。
Spring Framework
上周在SpringOne上宣布,Spring Framework 6.0 和Spring Boot 3.0 将包括 JDK 17 和 Jakarta EE 9 基线。VMware 计划在 4Q2022 版本中发布该基线,它表示此基线将“在我们的设计和集成工作中提供显著的好处,使您的应用程序代码和框架在未来很多年中都能经受住考验。”InfoQ 将继续提供更详细的新闻报道。
Spring GraphQL 1.0.0 的第二个里程碑版本已经发布,它为 GraphQL 控制器提供了一个新的注解模型以及常见的 bug 修复。更多详情可参见问题清单。
Hibernate
Hibernate ORM 5.6.0 的第一个beta版本的功能是,支持在 Hibernate ORM 的核心中更改Hibernate Reactive,并改进基准测试和运行时性能。Hibernate 将 5.6.0 版视为即将推出的 Hibernate ORM 6.0 的网关。为此,Hibernate 取消了对Javassist的支持,转而支持从 Hibernate ORM 5.3 开始可用的Byte Buddy。
MicroProfile
在计划于 4Q2021 发布的MicroProfile 5.0 道路上,8 个自主开发的 APIs 中有 7 个有可供审查的候选版本:
MicroProfile JWT 2.0-RC1将很快提供。
GraalVM
Oracle Labs发布了Native Build Tools的0.9.4版本,这是一个 GraaIVM 项目,包含用于与 GraaIVM原生镜像互操作的插件。这个版本为 Maven 和 Gradle 在 Windows 操作系统上处理长的类路径提供了一个解决方案。Gradle 插件不会在类路径中遍历所有类目,而是会自动生成一个 JAR 包,并带有禁用此解决方案的选项。对于 Maven 用户,有必要使用maven-shade-plugin
配置builds。
JHipster Generator for Helidon Projects
Oracle 的软件开发人员Dmitry Aleksandrov最近发起了一个新项目JHipster Helidon 0.0.1,这是一个 JHipster 项目,用于生成Helidon应用程序。这个项目仍在建设中,Aleksandrov 正在征求 Java 社区的反馈意见。

作者介绍
Michael Redlich Java Queue 主编
原文链接
Java News Roundup: Roadmap for Spring 6.0 and Spring Boot 3.0, OpenJDK and Quarkus Updates
评论 1 条评论