Quarkus 1.1.0.Final 发布 - 模板引擎、YAML 配置等

恰逢假期,Quarkus 1.1.0.Final 发布,其中包含所有扩展(包括 Camel Quarkus),已准备就绪。

此版本的诞生经历了一些曲折,但这却是一个很好的故事。它包含许多新功能,最值得注意的是 Qute 模板引擎、对 YAML 配置的支持、Gradle 改进、新的日志记录扩展、Quartz 扩展……

正如 这篇博客文章中所述,我们在 1.1.0.Final 中恢复了 GraalVM 19.3 的升级。我们支持构建本机可执行文件的 GraalVM 版本是 19.2.1

我们正在积极与 GraalVM 团队合作,以解决阻止我们升级到 19.3 的问题。

有什么新功能?

Qute 模板引擎

这是我们从 Quarkus 一开始就考虑的事情:提供一个为我们的方法量身定制的模板引擎,在构建时尽可能多地完成工作。

1.1 版本带来了 Qute 的第一个版本,即我们的构建时模板引擎。目前它被标记为实验性的,所以请尝试一下,并在 我们的邮件列表我们的问题跟踪器上给我们一些反馈!

我们准备了 入门指南,帮助您入门,以及 更全面的参考指南

配置框架变更

更新后的配置框架修复了许多长期存在的配置问题,尤其是在处理环境变量时。

1.1 还支持 YAML 配置 Quarkus:添加 config-yaml 扩展,Quarkus 将使用您的 application.yaml 文件。更多信息请参见 配置指南

Spring Security API 的 Quarkus 扩展

我们继续提供 Spring API 支持,1.1 将 Spring Security API 添加到组合中。更多信息请参见 Spring Security API 的 Quarkus 扩展指南

Gradle 变更

如果您正在将 Quarkus 与 Gradle 一起使用,请为一些重大变更做好准备:我们已升级到 Gradle 6,您需要更改声明 Gradle 插件的方式。

更多信息请参见 我们的迁移指南

此外,我们不再默认触发本机可执行文件的构建。您需要显式执行 ./gradlew buildNative 才能构建本机可执行文件。

日志记录改进

1.1 对我们的日志记录层进行了多项重大改进

  • 我们现在通过 logging-gelf 扩展支持 Graylog Extended Log Format (GELF):您可以将日志推送到 ELK 或 EFK 堆栈。请在 集中式日志管理指南中探索这种新的可能性。

  • 我们添加了 logging-json 扩展,以便您可以将日志格式化为 JSON。更多信息请参见 我们的日志记录文档

  • 添加了 logging-sentry 扩展以允许应用程序异常监控。请注意,正如我们的文档中所述,Sentry 不再是开源的。

运行状况检查

我们正在不断改进 Quarkus 的可观察性,一个重要的因素是拥有默认的运行状况检查和指标。Quarkus 的未来版本将为所有有意义的扩展捆绑它们。

在 1.1 中,除了预先存在的 Agroal 数据源检查之外,还为 Kafka、Kafka Streams、MongoDB、Neo4j 和 Artemis 添加了运行状况检查。

Kogito 0.6

Kogito 已升级到 0.6。它具有处理基于时间的活动的功能,这些活动可以外部化到专用服务(作业服务)。它充分利用 Quarkus 和反应式非阻塞 API 来有效地处理计划作业(使用 Vert.x 定时器)。此外,数据索引服务的 GraphQL 接口已得到增强,允许对域信息进行类型化搜索,从而最大限度地灵活处理 Kogito 运行时服务(进程)生成的数据。

如果您想了解有关作业和数据索引服务的更多信息,请访问 Kogito wiki

Quartz 扩展

从第一天开始,Quarkus 就有一个 scheduler 扩展,但它没有公开底层 Quartz 的细节,这阻止了我们支持集群作业。

由于这是一个流行的要求,因此在 1.1 中添加了一个 quartz 扩展来提供对集群作业的支持,并且它有 自己的指南和快速入门

ADOPTERS.md

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

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

以及更多……

  • 现在支持 Keycloak 8。

  • Hibernate ORM with Panache 和 MongoDB with Panache 的 Optional 支持。Hibernate ORM with Panache 的锁定支持。

  • Hibernate Search + Elasticsearch(预览):我们已升级到 Beta3。有一些不兼容的更改,请查看 我们的迁移指南

  • Neo4j(预览):升级到 4.0 的最终版本带来 一些重大更改

  • 您现在可以使用我们的 Kubernetes 扩展生成 Knative 清单。

  • 我们的 Amazon Lambda 原型现在提供 SAM 模板。

  • quarkus.flyway.clean-at-start 配置旋钮已添加到 Flyway 扩展中。

完整更新日志

您可以在 GitHub 上获取 1.1.0.CR11.1.0.Final 的完整变更日志。

贡献者

Quarkus 现在有 206 位贡献者。是的,我们已经超过 200 位贡献者,我们期待着您很快成为贡献者。非常感谢每一位贡献者。

特别是在 1.1.0 版本中,感谢 Alessio Soldano、Alex Kochnev、Alex Soto、Alexander Zimmermann、Alexey Loubyansky、Anamarija Talijanac、Andrew Guibert、Andy Damevin、Aurea Munoz、Claus Ibsen、Clement Escoffier、Cristiano Nicolai、CSTDev、Danilo Magalhães、David M. Lloyd、David Walluck、Dennis Baerten、Elegie、Emmanuel Bernard、Eric Wittmann、Erik Jan de Wit、Erin Schnabel、Fabian Martinez、Fabio Heer、Filippe Spolti、Galder Zamarreño、George Gastaldi、Georgios Andrianakis、Guillaume Smet、Gunnar Morling、Gwenneg Lepage、Gytis Trikleris、Hantsy Bai、Hebert Coelho、Ioannis Canellos、Irena Kezic、Jacob Middag、Jaikiran Pai、Jan Martiska、Johannes、John O’Hara、John Oliver、Jonas Eriksson、Jonas Scholz、Jorge Solórzano、Jose Quaresma、Justin Holmes、Justin Lee、Ken Finnigan、Kevin Viet、Logan Hauspie、Loïc Mathieu、Luca Masini、Maciej Swiderski、Manyanda Chitimbo、Marcin Czeczko、Martin Kouba、Martin Stefanko、Matej Novotny、Max Rydahl Andersen、Michael Musgrove、Michael Simons、Michal Karm Babacek、Michał Szynkiewicz、Moncef Aoudia、Ondra Chaloupka、Paul Robinson、Pedro Igor、Rohan Maity、Rostislav Svoboda、Sanne Grinovero、Sebastien Blanc、Sergey Beryozkin、Simon Bengtsson、soberich、Stuart Douglas、Stéphane Épardaud、Tako Schotanus、Tiago Dolphine、Timothy Power、Vincent Sevel、Vinicius Ferraz、William Burns 和 Yoann Rodière。

加入我们

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

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