Quarkus 1.7 发布 - Elasticsearch 和 Redis 客户端、响应式路由和 Funqy 改进
像往常一样,Quarkus 的新版本带来了一些激动人心的新功能,但本月我们重点关注了修复问题以及改进文档等所有方面。
Quarkus 1.7,合并了超过 300 个拉取请求。
最突出的新功能是
-
用于低级和高级 Elasticsearch REST 客户端的新扩展
-
用于 Vert.x Redis 客户端的扩展
-
Hibernate Envers 扩展
-
支持 JDBC Db2 驱动程序
-
对响应式路由功能的大量改进
-
Funqy 无服务器框架获得了一些有趣的新功能
我们最近还重新设计了我们的指南索引页,并增加了一个搜索引擎。
迁移指南
急于迁移现有应用程序?这是我们 1.7 的迁移指南。
一个重要的一点是,我们不再支持 GraalVM 19.3:Java 11 版的 GraalVM 20.1 是推荐的 GraalVM 版本。
有什么新功能?
Elasticsearch REST 客户端
Quarkus 很早就支持低级 Elasticsearch REST 客户端,但它并未公开暴露。它只是在 Hibernate Search + Elasticsearch 扩展的后台使用。
在 1.7 版本中,低级和高级 Elasticsearch REST 客户端都通过具有适当 Quarkus 配置的扩展公开。因此,您可以直接连接到您的 Elasticsearch 集群。
有关如何使用这些客户端的更多信息,请参阅新的 Elasticsearch 指南。
Vert.x Redis 客户端
Quarkus 1.7 引入了一个连接到 Redis 数据存储的新扩展。它基于 Eclipse Vert.x Redis 客户端。
您需要了解的所有信息都在Redis 指南中。
Hibernate Envers
Hibernate Envers 是一个 Hibernate ORM 模块,提供版本控制/审计功能。
它之前可以在 JVM 模式下与 Quarkus 一起工作,但在原生模式下不行。新的 Hibernate Envers 扩展解决了这个问题。
您可以在 Hibernate ORM 指南的Hibernate Envers 部分中找到有关它的更多信息。
响应式路由改进
虽然大多数 Quarkus 应用程序都使用 RESTEasy 和 JAX-RS 开发,但您也可以选择一种名为响应式路由的替代方法,您可以在其中声明和链接路由。
响应式路由在 1.7 版本中得到了一些改进:
-
在路由处理方法中注入请求元素,添加了
@Param
、@Header
和@Body
注解。 -
现在完全支持 Mutiny 类型。
-
如果路由处理方法不返回
void
,您可以通过不将RoutingExchange
作为参数来简化操作。
安全测试基础设施
在测试时,完全禁用安全或使用特定身份可能很方便。
Quarkus 1.7 引入了 @TestSecurity
注解,它允许所有这些,如安全测试指南中所述。
顺便说一句,整个安全文档都进行了大规模的重组,使其更易于理解。
完整变更日志
您可以在 GitHub 上找到1.7.0.CR1和1.7.0.Final的完整更新日志。
ADOPTERS.md
为了分享有关 Quarkus 用法的故事,我们在存储库的根目录中添加了一个 ADOPTERS.md
文件。
如果您正在使用 Quarkus 并希望在我们的博客上接受采访或只是添加到此文件中,请与我们联系,我们很乐意效劳。
贡献者
Quarkus 社区不断壮大,现在已有 341 位贡献者。非常感谢其中的每一位。
特别是对于 1.7 版本,感谢 Aaron Coburn、Abel Salgado Romero、Adrian、Alex Soto、Alexander Schwartz、Alexey Loubyansky、Andrea Boriero、Andrea Cosentino、Andreas Eberle、Andrej Petras、Andrew Guibert、Andy Damevin、Arne Mejlholm、Aurea Munoz、Bill Burke、Boosey、Bret McGuire、Carlos Eduardo Panarello、Charlie Powicki、Clement Escoffier、Daniel Newport、Daniel Zwicker、David Horvat、Davide D’Alto、Dirk Van Haerenborgh、Dmitriy Chaban、Dominika Vagnerova、ekans、Emanuel Alves、Emmanuel Bernard、Erin Schnabel、Falko Modler、Foivos Zakkak、Francesco Bellentani、Galder Zamarreño、Garima Monga、Geoffrey De Smet、George Gastaldi、Georgios Andrianakis、Guillaume Le Floch、Guillaume Smet、Gunnar Morling、Gwenneg Lepage、Gytis Trikleris、Harald Reinmueller、Heiko W. Rupp、Helber Belmiro、Hugh Lunnon、Ioannis Canellos、Ivan Greene、J Lannoy、Jaikiran Pai、Jan Martiška、Jason T. Greene、Jens Reimann、Joe White、Katia Aresti、kdnakt、Ken Finnigan、Ladislav Thon、Loïc Hermann、Loïc Mathieu、Machareder、Manyanda Chitimbo、Marcelo Rubim、Mario Fusco、Martin Kouba、Matthias Harter、Max Rydahl Andersen、Michael Simons、Michał Szynkiewicz、Miguel Serra、Moritz Becker、Nebrass Lamouchi、Paul Carter-Brown、Paul Robinson、Paulo Casaes、Pedro Igor、Peter Palaga、Phillip Krüger、Rafael T. C. Soares、Robbie Gemmell、Roberto Cortez、Rohan Maity、Romain Quinio、Rostislav Svoboda、Sanne Grinovero、Sebastian Daschner、Sergey Beryozkin、Stuart Douglas、Stéphane Épardaud、Thomas Segismont、tibordigana、Timothy Power、TNM Technologies、Vincent Sevel、Yoann Rodière、Zed Spencer-Milnes、Zhiyuan Zheng 和 Ивашин Алексей Витальевич。
加入我们
我们非常重视您的反馈,所以请报告错误,提出改进建议…… 让我们一起构建伟大的东西!
如果您是 Quarkus 用户或只是好奇,请不要害羞,加入我们热情的社区
-
在 GitHub 上提供反馈;
-
编写一些代码并 推送 PR;
-
在 Stack Overflow 上提问。