Quarkus 1.7 リリース- Elasticsearch、Redis clients、Reactive routes、Funqyの改善

Red Hat で Solution Architect として Quarkus を担当している伊藤ちひろ(@chiroito)です。

この記事は、Quarkus.io のブログ記事、Quarkus 1.7 released - Elasticsearch and Redis clients, Reactive routes and Funqy improvements の翻訳記事です。

いつものように、この新しいQuarkusバージョンには、いくつかのエキサイティングな新機能が搭載されています。しかし、今月は問題の修正と改善に重点を置き、ドキュメントも含めてあらゆるところを改善しました。

Quarkus 1.7、300 以上のプルリクエストがマージされています。

最も顕著な新機能は以下の通りです。

  • 低レベルおよび高レベルの Elasticsearch REST クライアントのための新しい拡張機能
  • Vert.x Redis クライアント用の拡張機能
  • Hibernate Envers の拡張機能
  • JDBC Db2 ドライバのサポート
  • Reactive Routes 機能のたくさんの改善点
  • Funqy サーバーレスフレームワークには興味深い新機能が追加

また、最近、ガイドのインデックスページを新しいデザインと検索エンジンで作り直しました。

移行ガイド

既存のアプリケーションの移行をお考えですか?1.7 への移行ガイドはこちらです。

一つ重要なのは、GraalVM 19.3 をサポートしなくなったことです。Java 11フレーバーの GraalVM 20.1 は、推奨される GraalVM のバージョンです。

何が新しいの?

Elasticsearch REST クライアント

Quarkus は低レベルの Elasticsearch REST クライアントをしばらくの間サポートしていましたが、公開されていませんでした。これは Hibernate Search + Elasticsearch 拡張機能で内部的に使われていました。

1.7 では、低レベルの Elasticsearch REST クライアントと高レベルの 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 の項に詳しい情報が掲載されています。

Funqy の改善

Funqy は私たちのサーバーレスフレームワークです。

1.7 で Funqy に 2 つの新機能が追加されました。

  • Funqy HTTP バインディングにクエリパラメータを注入する機能
  • Google Cloud Platformへの対応

Reactive Routes の改善

ほとんどの Quarkus アプリケーションは RESTEasy と JAX-RS を使用して開発されていますが、Reactive Routes と呼ばれる別のアプローチを使用して、ルートを宣言してチェーン化もできます。

Reactive Routes は 1.7 でいくつかの改善点がありました。

  • ルート処理メソッドにリクエストからの要素を注入するために、@Param@Header@Body アノテーションが追加された
  • Mutiny タイプが完全にサポートされた
  • ルート処理メソッドが void を返さない場合は、RoutingExchange をパラメータとして渡さないようにすることで、物事を単純化できる

Db2 JDBC ドライバ

1.6 では、リアクティブな Db2 ドライバのサポートが含まれています。1.7 は Db2 JDBC ドライバに新しい拡張機能をもたらします。

セキュリティテスト基盤

テストの際には、セキュリティを完全に無効にしたり、特定の ID を使用すると便利かもしれません。

Quarkus 1.7 では、セキュリティテストガイドで説明されているように、すべてのことを可能にする@TestSecurityアノテーションが導入されています。

セキュリティ文書の全体を通して、それをより身近なものにするために大規模な再編成を受けました。

拡張レジストリ

この機能は将来への道を開きます。複数の拡張機能レジストリをサポートするようになりました。これは、独自の拡張機能レジストリをホストして、Quarkus ツールに統合できるということです。

この面ではまだ進展が見られませんが、すぐに実際のユースケースが見られることを期待しています。

S2I イメージ

デフォルトの S2I イメージは、UBI ベースの Java 11 イメージになりました: registry.access.redhat.com/ubi8/openjdk-11.

完全な変更ログ

1.7.0.CR11.7.0.Final の完全な変更ログはGitHubで入手できます。

ADOPTERS.md

Quarkusの使用に関する情報を共有するために、リポジトリのルートにADOPTERS.mdファイルを追加しました。

Quarkusを使用していて、私たちのブログでインタビューを受けたい場合、または単にこのファイルに追加したい場合は、私たちにご連絡ください。

貢献者

Quarkusには現在341人の貢献者がいます。皆様、本当にありがとうございました。

特に1.7リリースについてはみなさんのおかげです。

In particular for the 1.7 release, thanks to 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 and Ивашин Алексей Витальевич.

参加しよう

私たちはあなたのフィードバックをとても大切にしていますので、バグを報告し、改善を依頼してください...一緒に何か素晴らしいものを作りましょう!

Quarkusのユーザーや好奇心の強い人は、恥ずかしがらずに歓迎コミュニティに参加してください。

* 各記事は著者の見解によるものでありその所属組織を代表する公式なものではありません。その内容については非公式見解を含みます。