Quarkus 1.9 发布 - Micrometer 扩展日趋成熟,支持多个 Redis 客户端,Quarkiverse

Quarkus 1.9 在我们现有的功能集之上带来了许多改进。

  • Micrometer 扩展日趋成熟。

  • Kafka 现在支持指标。

  • 支持多个 Redis 客户端(以及 Sentinel 连接)。

  • Bean Validation 得到 Reactive Routes 的支持。

  • SmallRye Reactive Messaging 已升级到 2.4.0,Mutiny 已升级到 0.9.0。

像往常一样,它也带来了一些错误修复以及可用性和文档改进。

最后但同样重要的是,我们还启动了 Quarkiverse 计划

迁移指南

急于迁移现有应用程序?这是 我们的 1.9 迁移指南

最大的变化是,在 1.3 版本中已被弃用的旧数据源(JDBC 和 reactive)配置现已移除。因此,如果您的数据源不再工作,那很可能是因为您尚未迁移到新配置。

GraalVM 20.2 的 Java 11 版本是推荐的 GraalVM 版本。

有什么新功能?

Micrometer 扩展日趋成熟

1.8 版本引入了一个新的 Micrometer 扩展。在 1.9 开发周期中,它取得了长足的进步,现在是收集 Quarkus 指标的首选方式。

例如,您现在可以获取 Kafka 的指标。

Bean Validation 和 Reactive Routes

Reactive Routes 方法的参数和返回值(支持 Uni 但不支持 Multi)现在已考虑 Bean Validation 约束。

更多 Reactive 更改

SmallRye Reactive Messaging 已升级到 2.4.0,其中包括多项改进,包括对 Kafka 的 Cloud Event 支持,以及错误修复;Mutiny 已升级到 0.9.0。

拉取请求描述 列出了主要更改。

得益于 quarkus-rest-client-mutiny 扩展,使用 Mutiny 配合 REST Client 比以往任何时候都更容易。

@TestTransaction 注解

此注解是我们对社区反复提出的一个请求的回应:希望在测试中能够回滚所做的更改。

不要用 @Transactional 注解您的测试(这将保留更改),而是用 @TestTransaction 注解您的测试,更改将在测试结束时自动回滚。

多个 Redis 客户端

到目前为止,您只能连接到一个 Redis 实例。

从 1.9 开始,您可以连接到多个实例。现在也支持 Sentinel。

其他更改

  • 我们现在有一个独立的 JAXP 扩展。以前,它与 JAXB 扩展纠缠在一起。

  • Hibernate ORM 已升级到 5.4.22.Final,Hibernate Reactive 已升级到 1.0.0.Alpha10。

完整变更日志

您可以在 GitHub 上获取 1.9.0.CR11.9.0.Final 的完整更新日志。

Quarkiverse

如果没有其扩展生态系统,Quarkus 的成功将无从谈起。起初,我们将所有扩展都添加到 Quarkus 核心仓库中,但最终这变成了过多的开销,或者将扩展包含在核心中并非总是明智的。此后,一些扩展创建了自己的独立于 Quarkus 的仓库,但另一些则从未实现,因为并非所有人都想承担维护构建设置的开销,而在某些情况下,我们确实有一个扩展的构想但尚未成熟到足以包含在核心中(因此未能找到其他感兴趣并渴望提供帮助的社区成员)。

隆重推出 Quarkiverse!

Quarkiverse 是一个独立的 GitHub 组织(https://github.com/quarkiverse),它提供:

  • 将您的 Maven 版本自动且安全地发布到 Maven Central。

  • 自动对您的扩展与 Quarkus 构建/版本进行交叉测试(请参阅 https://github.com/quarkusio/quarkus-ecosystem-ci)。

  • 包含在 Quarkus 工具使用的注册表中,用于浏览扩展(例如 code.quarkus.io、命令行和 IDE 工具)。

  • 项目的一致格式化和发布。

  • 更大的社区推广范围和协作的绝佳场所。

如果您想主导一个扩展的开发,请查看它是否已在 GitHub 上提出创建一个扩展提案 issue

一篇博客文章正在撰写中,应该会提供更多细节。在此期间,请查看 已有的扩展

ADOPTERS.md

为了分享有关 Quarkus 用法的故事,我们在存储库的根目录中添加了一个 ADOPTERS.md 文件

如果您正在使用 Quarkus 并希望在我们的博客上接受采访或只是添加到此文件中,请与我们联系,我们很乐意效劳。

贡献者

Quarkus 社区正在不断壮大,目前已有 378 位贡献者。非常感谢每一位贡献者。

特别是对于 1.9 版本,感谢 Abel Salgado Romero, Adam Bien, Alex Soto, Alexey Loubyansky, AlexeyAnufriev, Andrea Cosentino, Andy Damevin, Anh Le (Andy), Armel Soro, Arne Mejlholm, asodja, Auri Munoz, Bill Burke, Bobby Philip, Centro de Computos, Chris Laprun, Clement Escoffier, Daniel Badawi, Daniel Platz, David M. Lloyd, Dillon Fearns, Dmitry Shohov, Driss Amri, Dušan Križan, Emanuel Alves, Enercido Alcantara, Erin Schnabel, Fabian Stäber, Fabio Iwakoshi, Falko Modler, Foivos Zakkak, Galder Zamarreño, Garima Monga, Gautier de Saint Martin Lacaze, Geoffrey De Smet, George Gastaldi, Georgios Andrianakis, ghokun, Guillaume Le Floch, Guillaume Smet, Gunnar Morling, Gytis Trikleris, Harsh Madhani, Harsha R, Ioannis Canellos, Jack Hu, Jaikiran Pai, Jakub Scholz, Jan Martiška, João Lucas Scharf, Julien Ponge, Justin Lee, kdnakt, Ken Finnigan, Kevin Viet, Knut Wannheden, Ladislav Thon, Laurent Broudoux, lburgazzoli, Loïc Mathieu, Maciej Swiderski, Manyanda Chitimbo, Marcin Czeczko, Markus Heberling, Martin Kouba, Matej Vasek, Max Rydahl Andersen, Michal Krzywanski Michał Górniewski, Michał Szynkiewicz, Miguel Serra, Nathan Erwin, Oliver Libutzki, Paul Kunysch, Pedro Igor, Peter Palaga, Phillip Krüger, Roberto Cortez, Rohan Maity, Ron Sigal, Rostislav Svoboda, Sanne Grinovero, Sergey Beryozkin, Simon Bengtsson, Stephane Epardaud, Stuart Douglas, Thomas Pfaff, Vincent Sevel, Vincent Sourin, Vinícius Ferraz Campos Florentino, William Burns, xstefank, Xumk 和 Yoann Rodière。

加入我们

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

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