Quarkus 1.8 发布 - 支持多个持久化单元、Micrometer、jbang、GraalVM 20.2

我们整个夏天都在努力工作,为 Quarkus 1.8 做准备。

它带来了一些闪亮的新功能,其中包括:

  • Hibernate ORM 扩展支持多个持久化单元

  • 新的 Micrometer 扩展

  • jbang 集成,方便编写基于 Quarkus 的脚本

  • GraalVM 20.2 更新

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

迁移指南

急于迁移您现有的应用程序?这是 1.8 版的迁移指南

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

有什么新功能?

多个持久性单元

到目前为止,在标准的 Quarkus 配置下,Hibernate ORM 扩展只支持单个持久化单元。您可以通过使用 persistence.xml 来规避此限制,但这充其量是不切实际的。

1.8 版本在 Hibernate ORM 扩展中引入了对多个持久化单元的支持。该功能仍处于实验阶段,并非因为它不稳定,而是因为我们可能会根据您的反馈来调整配置方式。因此,如果您使用此功能,请在 Zulip 或我们的 quarkus-dev 邮件列表中提供您的反馈。

有关此新功能及其在应用程序中的使用方法的更多信息,请参阅 Hibernate ORM 扩展指南

虽然标准的 Hibernate ORM 实体可以属于多个持久化单元,但 Panache 实体只能属于一个持久化单元。

Micrometer 扩展

Micrometer 是一个广泛用于收集应用程序指标的库。与我们现有的 MicroProfile Metrics 实现相比,一个很大的优势是,您常用的监控工具都有大量可用的仪表板。

Quarkus 1.8 引入了一个名为 quarkus-micrometer 的新 Micrometer 扩展。请参阅 其指南 以了解更多信息。

使用 jbang 进行脚本编写

Quarkus 1.8 提供了与 jbang 的集成,它允许您编写无需 Maven 或 Gradle 即可运行的 Java 脚本/应用程序。

使用 Quarkus 堆栈编写快速脚本变得很容易。在 使用 jbang 进行脚本编写指南 中了解更多。

GraalVM 20.2

如果您从 Quarkus 应用程序构建原生可执行文件,是时候更新到 GraalVM 20.2 了,它将是今后推荐的版本。

SmallRye OpenAPI

SmallRye OpenAPI 用户经常请求能够保存生成的 API 文档。

新的 quarkus.smallrye-openapi.store-schema-directory 属性允许您做到这一点。

Quartz

现在可以通过设置 quarkus.quartz.instance-name 配置属性来配置 Quartz。

从 1.8 版本开始,您可以在 Quartz 作业中使用 CDI 注入。

扩展点(触发器监听器、作业监听器、插件)的配置已发生更改,因此如果您使用此功能,请参阅 更新后的文档 来迁移您的配置。

Panache MongoDB 的 Kotlin 支持

我们的一些扩展需要一些补充才能正确支持 Kotlin。MongoDB with Panache 扩展就是这种情况。

如果您使用 MongoDB with Panache 和 Kotlin,请将 quarkus-mongodb-panache-kotlin 扩展添加到您的项目中。

完整变更日志

您可以在 GitHub 上查看 1.8.0.CR11.8.0.Final 的完整更改日志。

ADOPTERS.md

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

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

贡献者

Quarkus 社区正在不断壮大,现在拥有 356 名贡献者。非常感谢他们中的每一位。

特别感谢 1.8 版本中的贡献者:Aaron Coburn、Alex Soto、Alexey Loubyansky、Andreas Eberle、Andrej Petras、Andy Damevin、Antonio Goncalves、antonwiens、Bill Burke、Bobby Alex Philip、Charlie Powicki、Clement Escoffier、Daniel Platz、Dmitry Shohov、Enercido Alcantara、Erin Schnabel、Fabian Stäber、Falko Modler、Foivos Zakkak、Galder Zamarreño、Garima Monga、Gautier de Saint Martin Lacaze、George Gastaldi、Georgios Andrianakis、ghokun、Guillaume Le Floch、Guillaume Smet、Gunnar Morling、Gwenneg Lepage、Gytis Trikleris、Jaikiran Pai、Jan Martiška、Juri Berlanda、Justin Lee、Katia Aresti、kdnakt、Ken Finnigan、ketoketo、Kevin Viet、Knut Wannheden、Ladislav Thon、Laurent Broudoux、Luca Burgazzoli、Leandro、Loïc Hermann、Loïc Mathieu、Manyanda Chitimbo、MarceloArraes、Martin Kouba、Martin Schoene、Matej Novotny、Matthias Harter、Max Rydahl Andersen、Michael Simons、Michał Górniewski、Michał Szynkiewicz、Moncef、Moritz Becker、noelo、Pasquale Congiusti、Paul Carter-Brown、Phillip Kruger、Radim Vansa、Rafael T. C. Soares (A.K.A Tuelho)、Raffael Hertle、Ramiz Ismailov、Roberto Cortez、Rohan Maity、Romain Quinio、Rostislav Svoboda、Sanne Grinovero、Sebastian Daschner、Sergey Beryozkin、Steffen Vinther Sørensen、Stuart Douglas、Stéphane Épardaud、Thomas Segismont、TNM Technologies、tomekl007、Yashar Imanlou 和 Yoann Rodière。

加入我们

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

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