高性能微服务框架 Quarkus 3.7 正式发布,全面支持 Java 17

高性能微服务框架 Quarkus 3.7 正式发布,全面支持 Java 17
最新回答
为期待而延续

2022-09-15 01:02:54

Quarkus 3.7 正式发布,全面支持 Java 17

Quarkus 3.7 已于 2024 年 1 月正式发布,这一版本标志着 Quarkus 微服务框架对 Java 17 的全面支持。以下是对这一重要更新的详细解读。

一、Java 基线提升至 Java 17

Quarkus 3.7 将所需的最小 JDK 版本提升为 Java 17。这一决策主要基于以下几个原因:

  • OpenJDK 社区的支持策略:OpenJDK 社区在 2023 年 9 月停止了对 Java 11 的主动支持,这意味着 Java 11 将不再获得官方的更新和维护。
  • Quarkus 依赖项的升级:Quarkus 的多个依赖项也将其基线升级到了 Java 17,以确保与最新技术的兼容性。
  • 用户使用情况:根据 Quarkus 收集的构建时间分析数据,只有不到 8% 的用户在 Java 11 上运行 Quarkus 构建。此外,其他调查也显示 Java 11 及以上版本的使用量在增加,而 Java 8 的使用量在下降。

二、Java 17 的优势与 Quarkus 的未来规划

Java 17 带来了许多新特性和改进,尽管 Quarkus 3.7 在发布时并未直接使用这些特性,但提升基线至 Java 17 为 Quarkus 的未来开发提供了更多可能性。

  • 新特性的利用:随着 Java 17 的普及,Quarkus 团队可以在未来的版本中逐步引入和利用这些新特性,以提升框架的性能和功能。
  • 依赖项的支持:提升基线至 Java 17 也意味着 Quarkus 可以更好地支持那些需要 Java 17 的依赖项,如计划于 2024 年发布的 Hibernate ORM 7。

三、对旧版本的支持与升级建议

对于无法升级到 Java 17 的项目,Quarkus 3.6 仍然是一个可行的选择。然而,为了确保项目的长期稳定性和安全性,Quarkus 团队建议这些项目尽快考虑升级。

  • Quarkus LTS 版本:虽然 Quarkus 3.2 是支持 Java 11 的最新长期支持(LTS)版本,但 LTS 版本的支持期限只有一年。因此,升级 Java 版本仍然非常重要。
  • 逐步升级策略:对于需要升级的项目,建议采取逐步升级的策略,先升级到较新的 Java 版本(如 Java 17),再逐步迁移到 Quarkus 3.7 或更高版本。

四、与其他 Java 工具和框架的协同

Quarkus 所遵循的策略与其他需要 Java 17 的 Java 工具和框架相同,这有助于维护整个 Java 生态系统的一致性和兼容性。

  • Spring Boot 3:于 2022 年 11 月发布的 Spring Boot 3 也需要 Java 17 作为基线。这意味着所有使用 Spring Boot 3 的项目(如 JHipster)现在也需要 Java 17。
  • Micronaut 4 和 SonarQube 服务器:这两个项目也于近期发布了需要以 Java 17 为基线的版本,进一步推动了 Java 17 的普及。

五、总结

Quarkus 3.7 的发布标志着高性能微服务框架对 Java 17 的全面支持。这一决策不仅符合 Java 社区的发展趋势,也为 Quarkus 的未来开发提供了更多可能性。对于需要升级的项目,建议采取逐步升级的策略,以确保项目的稳定性和安全性。同时,我们也期待 Quarkus 在未来版本中能够充分利用 Java 17 的新特性,为开发者带来更加高效和强大的微服务解决方案。