Quarkus 3.0.0.Beta1 发布

我们很高兴地宣布 Quarkus 3.0.0.Beta1 的发布。

我们计划下周发布 Quarkus 3.0.0.CR1,所以现在是测试将您的应用程序迁移到 Quarkus 3 的好时机(有关升级的更多信息,请参见下方)。

除了大量的错误修复和小改进之外,此版本的主要亮点是

  • Hibernate Reactive 和 Camel Quarkus 又回来了!

  • 技术端点可以在特定的管理网络接口上公开

  • 在 OpenTelemetry 扩展中支持 SDK 自动配置

新特性

Hibernate Reactive

Hibernate Reactive 已重新引入 Quarkus。 Hibernate Reactive 2.0 处于 Alpha 阶段,并且基于 Hibernate ORM 6.2。

Camel Quarkus

Camel Quarkus 已返回 Quarkus 平台,具有与 Jakarta EE 10 和 Quarkus 3 兼容的新主要版本。

请注意,虽然 Quarkus 3 仍然与 Java 11 兼容,但 Camel Quarkus 扩展需要 Java 17。

管理网络接口

到目前为止,所有 Quarkus 端点都暴露在同一个网络接口上。

现在可以通过特定的管理接口在不同的接口上公开技术端点,例如健康状况和指标端点。

OpenTelemetry

OpenTelemetry 扩展已被重写以支持 SDK 自动配置。

尝试 Quarkus 3

目前,最简单的入门方法是使用 code.quarkus.io 或使用 Quarkus CLI

quarkus create app --stream=3.0

请注意,在此阶段,虽然所有核心扩展都可用,但只有部分 Quarkus 平台可用。并非所有扩展都已迁移到 Jakarta 包。

升级到 Quarkus 3

迁移指南

与往常一样,我们编写了迁移指南。正如新的主要版本所预期的那样,它比我们通常的小版本更密集。

迁移到 Quarkus 3 的第一步是运行下面显示的迁移脚本。

它不能处理所有事情,但它应该可以处理大部分繁重的工作。

如果您使用的是 Hibernate ORM 或 Hibernate Reactive,请务必查看专用迁移指南

自动迁移

对于所有扩展都可用的现有应用程序,我们有一个 OpenRewrite 配方,您可以尝试。

有一个单行命令尝试使用 JBang 脚本自动执行此操作。

如果您已经安装了 JBang,请运行

jbang --fresh upgrade-to-quarkus3@quarkusio

如果不是,对于 Linux 和 macOS

curl -Ls https://sh.jbang.dev | bash -s - --fresh upgrade-to-quarkus3@quarkusio

对于 Windows

iex "& { $(iwr https://ps.jbang.dev) } --fresh upgrade-to-quarkus3@quarkusio"

运行此命令后,您的项目应该已更新其依赖项、源代码和文档以使用 Quarkus 3。

如果它对您不起作用,可能是我们遗漏了一些内容,或者您正在使用尚不支持 Quarkus 3 的扩展。

请告知我们,以便我们共同改进迁移脚本。

加入我们

我们非常重视您的反馈,所以请报告错误,提出改进建议…… 让我们一起构建伟大的东西!

如果您是 Quarkus 用户或只是好奇,请不要害羞,加入我们热情的社区