Quarkus 2.8.0.Final 发布 - 默认提供新的 REST 层,GraalVM 22.0 以及更多新功能!
2.8.0.Final 带来了许多改进和新功能
-
将 Assertj 移出我们的 BOM
-
默认提供新的 REST 层
-
GraalVM 22.0
-
支持 OIDC 密钥交换的证明 (PKCE)
-
QuarkusTransaction
API -
Elasticsearch 开发服务
以及更多!
迁移指南
要从 2.7 迁移,请参考我们的迁移指南。
有什么新功能?
Assertj 移出 BOM
首先,如果您在项目中使用了 Assertj,我们已将其从 BOM 中移除,因为其二进制兼容性经常被破坏,这给一些项目带来了麻烦。
因此,从现在开始,请在您的项目中定义版本。最新版本是 3.22.0。
现在,我们可以聊些更激动人心的事情了!
默认提供新的 REST 层
很久很久以前,我们在 Quarkus 中引入了一个新的 REST 层,称为 RESTEasy Reactive。这个新的 REST 实现是为 Quarkus 而设计的,与我们目前默认使用的传统 RESTEasy 堆栈相比,它提供了一些不错的改进。
重要的是要理解,尽管名称中带有“Reactive”,但 RESTEasy Reactive 同样擅长支持传统的阻塞式工作负载和响应式工作负载。在大多数情况下,它是完全透明的,您甚至不必考虑它:根据您的端点,RESTEasy Reactive 将选择适合的范例。
例如
-
返回
MyEntity
将自动使端点变为阻塞式 -
返回
Uni<MyEntity>
将使其变为响应式
另外,RESTEasy Classic 并不会消失:您仍然可以使用它并用它创建新项目,但它不再是默认导入的。
现在所有的指南都在推广 RESTEasy Reactive,并且在命名上应该是一致的:对于传统的 RESTEasy,请查找 RESTEasy Classic;对于新的层,请查找 RESTEasy Reactive。
我们还添加了几个缺失的 RESTEasy Reactive 对应的扩展,例如基于 RESTEasy Reactive 的 Keycloak 管理客户端扩展或 Hibernate RESTEasy Reactive REST Data with Panache。
要了解更多关于 RESTEasy Reactive 的信息,请参阅:
-
RESTEasy Reactive 迁移指南 - 再次强调,如果您喜欢,仍然可以使用 RESTEasy Classic!
非常感谢所有已经在使用 RESTEasy Reactive 的用户提供的反馈和修复!
GraalVM 22.0
您已经可以在 Quarkus 2.7 中使用 GraalVM 22.0,现在它已成为 2.8 的默认版本。
除了许多内部改进外,最明显的变化是构建原生可执行文件时输出的改进。
QuarkusTransaction
API
Quarkus 2.8 引入了新的 QuarkusTransaction
API,它通过程序化 API 提供了对事务更精细化的控制。
要了解更多关于它的信息,请参阅我们的事务使用指南。
贡献者
Quarkus 社区正在不断壮大,目前已有 618 位贡献者。非常非常感谢他们中的每一位。
特别是对于 2.8 版本,感谢 Adler Fleurant, AkMo3, Ales Justin, Alex Soto, Alexey Loubyansky, andreaTP, Andy Damevin, Ashwin S. Nair, Auri Munoz, Ben Gunter, Bill Burke, Chao Wang, Chas Honton, Chris Aslanoglou, Chris311, Christian Beikov, Clara Fang, Clement Escoffier, Davide, dwamara, Eoin Gallinagh, Eric Deandrea, Erin Schnabel, Falko Modler, Foivos Zakkak, Fred Bricon, Galder Zamarreño, Galder Zamarreño, Gavin Ray, George Gastaldi, Georgios Andrianakis, gregid, Guillaume Le Floch, Guillaume Smet, Hunter Gerlach, Ioannis Canellos, Jan Martiska, Jan Martiška, Joachim Segala, Johannes Wienke, Jonathan Halliday, Joost Timmerman, Jorge Solórzano, Jose, Julien Ponge, Juri Berlanda, Justin Lee, Kai Hudalla, Katia Aresti, Kevin Wooten, Knut Wannheden, Kucharzyk Tomasz, Ladislav Thon, Loïc Hermann, Loïc Mathieu, Luca Basso Ricci, Lucifer Morningstar, Luke Gee, manofthepeace, Manyanda Chitimbo, Marc Nuri, Marco Bungart, Marco Yeung, Marcus Paulo, Markus Schwer, Martin Kouba, Martin Panzer, Matej Novotny, Matteo Mortari, Max Rydahl Andersen, Michael Simons, Michal Karm Babacek, Michal Maléř, Michał Szynkiewicz, Ozan Gunalp, pablo gonzalez granados, Peter Levart, Peter Palaga, Phillip Krüger, pravussum, Rhuan Rocha, Rob Spoor, Roberto Cortez, Rostislav Svoboda, Sam Xie, Sanne Grinovero, Sergey Beryozkin, Stefán Freyr Stefánsson, Stephane Epardaud, Stuart Douglas, Thomas Segismont, tobi6112, Tomas Hofman, Vincent Sevel, Wippermueller, Frank, xstefank, Yoann Rodière, yugoccp。
加入我们
我们非常重视您的反馈,所以请报告错误,提出改进建议…… 让我们一起构建伟大的东西!
如果您是 Quarkus 用户或只是好奇,请不要害羞,加入我们热情的社区
-
在 GitHub 上提供反馈;
-
编写一些代码并 推送 PR;
-
在 Stack Overflow 上提问。