Quarkus 3.0 Final 发布,基于 Jakarta EE 10


Quarkus 是 Kubernetes 原生的 Java 技术栈,它由同类中最佳的 Java 库和标准精制而成,并针对容器和云部署量身定制。Quarkus 的总体目标是将 Java 带入云原生的应用开发,并使它成为 Serverless、云和 Kubernetes 环境的领先平台。同时统一了响应式和命令式编程模型,开发人员可以选择最适合其用例的模型,并更轻松地将其代码与其它组件集成到响应式系统中,例如带有 Vert.x 和 Kafka 的响应式流、响应式数据库 API 等。 

Quarkus 3.0 现已发布,该版本基于 Jakarta EE 10,并包含了一些新功能和增强功能的实现。

新的 Dev UI

Quarkus 3.0 现在有一个新的 Dev UI,它更具可扩展性和更易于使用,以及新的改进的外观和用户体验。新的 Dev UI 默认可用;但是由于并非所有扩展都已迁移到新的 Dev UI,用户仍然可以在/q/dev-v1访问旧的。官方计划在未来的版本中删除旧的 Dev UI。

Jakarta EE 10

Quarkus 2 基于 Jakarta EE 8。Quarkus 3 基于 Jakarta EE 10。最明显的变化是 Jakarta EE 中的javax.*包已移至jakarta.*。 此更改需要改变任何依赖javax.*包的源代码和依赖项及其横向依赖项。

关于quarkus update如何帮助你迁移的更多信息,可参阅 Updating to Quarkus 3.0部分。

以 Jakarta EE 10 为目标的更改带来了两大改进:

  • 更广泛的 Java 生态系统正在转向 Jakarta 依赖项,以便更轻松地共享和兼容实现。

  • CDI 引入了 CDI Lite 和 Build Compatible Extensions (BCE) 的概念,它们支持跨 CDI 实现兼容的标准扩展,并获得 Quarkus 构建时间优化的好处。

值得注意的是,只有 Jakarta EE 中的javax.*包发生了变化。JDK中的包仍然在javax.*下。

Eclipse MicroProfile 6

Eclipse MicroProfile 6.0 与 Jakarta EE 10 Core Profile 保持一致,并将 MicroProfile OpenTracing 替换为 MicroProfile Telemetry。

Hibernate ORM 6

Quarkus 3 中最大的变化之一是将 Hibernate ORM 从版本 5 升级到版本 6.2。Hibernate ORM 6 是一个新的主要版本,它带来了许多变化,其中一些是破坏性的。

要从 Quarkus 用户的角度了解有关 Hibernate ORM 6 中更改的更多信息,可参阅 Hibernate ORM 5 到 6 的迁移。

Hibernate ORM 发布公告有很多关于 Hibernate ORM 6 中的更改/改进的信息:

  • Hibernate ORM 6.0

  • Hibernate ORM 6.1

  • Hibernate ORM 6.2

升级到 Hibernate ORM 6 需要一些努力和测试。官方建议可查看一下 Updating to Quarkus 3.0 部分。

Quarkus Hibernate ORM 扩展本身也做了一些改进,例如:

  • 支持 StatementInspector as @PersistenceUnitExtension managed bean。

  • 能够通过使用 CDI(Contexts and Dependency Injection)注入一个StatelessSession

Hibernate Reactive 2

Hibernate Reactive 已经升级到 2.0 版本以兼容 Hibernate ORM 6。

Mutiny 2 和 Java Flow

Quarkus 已升级到 Mutiny 2 ,现在使用 Java Flow API 而不是 Reactive Streams。

更多详情可查看官方公告。 


相關推薦

2022-09-23

Eclipse 基金会已发布 Jakarta EE 10 平台、Web Profile 和新的 Core Profile 规范。Jakarta EE 10 引入了用于构建现代化、简化和轻量级云原生 Java 应用程序的功能。据 Eclipse 基金会执行董事 Mike Milinkovich 称 这个版本是在现代微服务

2023-08-09

Jetty Server / Jetty Client core 现在已 100% 脱离任何特定的 Jakarta EE 技术(如 Jakarta Servlet)。用户可以独立于任何特定的 EE 环境使用该层。 Jetty EE 环境  最初支持 3 个环境: EE10 - Jakarta EE 10 (jakarta.*) - Servlet 6 - JSP 3.1 -

2022-08-12

Flow 3.0 M1 现已发布,此版本主要关注与 Spring Framework 6 和 Jakarta EE 的兼容性。spring-projects/spring-webflow-samples 上的 Travel booking-mvc 示例已更新,commit history 提供了示例更改。其中一项重大变化是需要删除尚未迁移到 Jakarta EE 的 Ti

2022-11-26

大更新,要求使用 Java 17 或更高版本,并且已迁移到 Jakarta EE 9+(在 jakarta 命名空间中取代了以前基于 javax 的 EE API),以及对其他基础设施的修改。基于这些变化,Spring Framework 6.0 支持最新 Web 容器,如 To

2022-10-14

目前 RC1 要求使用 Java 17 或更高版本,并且已迁移到 Jakarta EE 9+(在jakarta命名空间中取代了以前基于javax的 EE API),以及对其他基础设施的修改。基于这些变化,Spring Framework 6.0 支持最新 Web 容器,如 Tomcat 10 / Jetty

2024-04-26

Apache Tomcat 10.1.23 现已发布,此版本实现了作为 Jakarta EE 10 平台一部分的规范。 在 Tomcat 9 和更早版本上运行的应用程序,如果不做修改,将无法在 Tomcat 10 上运行。为 Tomcat 9 和更早版本设计的基于 Java EE 的应用程序可以放在 

2024-06-23

Apache Tomcat 10.1.23 现已发布,此版本实现了作为 Jakarta EE 10 平台一部分的规范。 在 Tomcat 9 和更早版本上运行的应用程序,如果不做修改,将无法在 Tomcat 10 上运行。为 Tomcat 9 和更早版本设计的基于 Java EE 的应用程序可以放在 

2022-10-15

Apache Tomcat 10.1.1 现已发布,此版本实现了作为 Jakarta EE 9 平台一部分的规范。 在 Tomcat 9 和更早版本上运行的应用程序,如果不做修改,将无法在 Tomcat 10 上运行。为 Tomcat 9 和更早版本设计的基于 Java EE 的应用程序可以放在 $

2022-11-18

的重大修订,Spring Framework 6.0 带来了 Java 17+ baseline 和向 Jakarta EE 9+(在jakarta命名空间中)的迁移,重点关注最近发布的 Jakarta EE 10 API,例如 Servlet 6.0 和 JPA 3.1。这提供了对最新的 Web 容器(例如 Tomcat 10.1)和最新的 persistence

2022-07-29

Apache Tomcat 10.0.23 现已发布,此版本实现了作为 Jakarta EE 9 平台一部分的规范。 在 Tomcat 9 和更早版本上运行的应用程序,如果不做修改,将无法在 Tomcat 10 上运行。为 Tomcat 9 和更早版本设计的基于 Java EE 的应用程序可以放在$CATAL

2023-12-15

Apache Tomcat 10.1.17 现已发布,此版本实现了作为 Jakarta EE 10 平台一部分的规范。 在 Tomcat 9 和更早版本上运行的应用程序,如果不做修改,将无法在 Tomcat 10 上运行。为 Tomcat 9 和更早版本设计的基于 Java EE 的应用程序可以放在 

2024-07-16

Apache Tomcat 10.1.26 现已发布,此版本实现了作为 Jakarta EE 10 平台一部分的规范。 在 Tomcat 9 和更早版本上运行的应用程序,如果不做修改,将无法在 Tomcat 10 上运行。为 Tomcat 9 和更早版本设计的基于 Java EE 的应用程序可以放在 

2023-11-17

Apache Tomcat 10.1.16 现已发布,此版本实现了作为 Jakarta EE 10 平台一部分的规范。 在 Tomcat 9 和更早版本上运行的应用程序,如果不做修改,将无法在 Tomcat 10 上运行。为 Tomcat 9 和更早版本设计的基于 Java EE 的应用程序可以放在 

2023-07-14

Apache Tomcat 10.1.11 现已发布,此版本实现了作为 Jakarta EE 10 平台一部分的规范。 在 Tomcat 9 和更早版本上运行的应用程序,如果不做修改,将无法在 Tomcat 10 上运行。为 Tomcat 9 和更早版本设计的基于 Java EE 的应用程序可以放在