Quarkus 1.9 released - Micrometer extension maturing, multiple Redis clients, Quarkiverse
Quarkus 1.9 では、既存の機能セットに対して多くの改良が加えられています。
-
Micrometer エクステンションの発展
-
Kafka へのメトリクスの実装
-
複数の Redis クライアントのサポート (Sentinel 接続も同様)
-
Reactive Routes での Bean Validation サポート
-
SmallRye Reactive Messaging が 2.4.0 に、Mutiny が 0.9.0 にアップグレード
いつものように、バグ修正や使い勝手の改善、ドキュメントの改善なども行われています。
最後ですが重要なことに、 Quarkiverseの取組 も開始しました。
移行ガイド
既存のアプリケーションの移行をお考えですか?ここに 1.9の移行ガイド があります。
最大の変更点は、1.3 で非推奨となった古いデータソース (JDBC とリアクティブ) の設定がなくなったことです。ですから、もしあなたのデータソースが動作しなくなった場合、それはおそらくあなたがまだ新しい設定に移行していないことが原因です。
Java 11 のフレーバーの GraalVM 20.2 が、推奨される GraalVM のバージョンです。
変更点
Micrometer エクステンションの発展
1.8 では、新しく Micrometer エクステンションが導入されました。1.9 の開発サイクルの間に、このエクステンションは大きく発展し、現在では Quarkus でメトリクスを収集するための推奨される方法となっています。
例えば、Kafka のメトリクスを取得できるようになりました。
Bean Validation と Reactive Routes
Bean Validation 制約が Reactive Routes メソッドのパラメーターと戻り値 ( Uni
はサポートされていますが、 Multi
はサポートされていません) で考慮されるようになりました。
更なるリアクティブの変更
SmallRye Reactive Messaging は 2.4.0 にアップグレードされました。KafkaのCloud Event サポートを含むいくつかの改善、バグ修正などが含まれています。Mutinyは 0.9.0 へアップグレードされました。
プルリクエストの説明 に主な変更点が記載されています。
quarkus-rest-client-mutiny
エクステンションのおかげで、REST クライアントで Mutiny を使用することがこれまで以上に簡単になりました。
@TestTransaction アノテーション
このアノテーションは、コミュニティからの繰り返し要望のあった、テストで行われた変更をロールバックする機能への対応です。
テストを (変更を持続させる) @Transactional
でアノテーションするのではなく、テストを @TestTransaction
でアノテーションすると、テストの最後に変更が自動的にロールバックされます。
複数の Redis クライアント
これまでは 1 つの Redis インスタンスにしか接続できませんでした。
1.9 からは、複数のインスタンスに接続できるようになりました。また、Sentinel にも対応しました。
その他の変更点
-
JAXP のエクステンションを別に用意するようになりました。今までは JAXB エクステンションと絡み合っていました。
-
Hibernate ORM が 5.4.22.Final に、Hibernate Reactive が 1.0.0.Alpha10 にアップグレードされました。
完全な変更履歴
1.9.0.CR1 と 1.9.0.Final の完全な変更ログは GitHub で取得できます。
Quarkiverse
エクステンションのエコシステムがなければ、Quarkus はこれほどの成功を収められなかったでしょう。当初は、すべてのエクステンションを Quarkus のコアリポジトリーに追加していました。しかし、最終的にはオーバーヘッドが大きすぎたり、エクステンションをコアに含めることが必ずしも賢明とは限らなくなってしまいました。それ以来、Quarkus の外部に独自のリポジトリーを作成した人もいますが、誰もがビルドセットアップを維持するためのオーバーヘッドを望んでいるわけではないので、それが実現しなかった人もいます。
Quarkiverse と会いましょう!
Quarkiverse は GitHub とは別の組織 (https://github.com/quarkiverse) で、以下を提供します。
-
Maven Centra への Maven リリースの自動化された安全な発行
-
Quarkus のビルド/リリースを使用した、エクステンションのクロステストの自動化 (https://github.com/quarkusio/quarkus-ecosystem-ci)
-
エクステンション (code.quarkus.io、コマンドライン、IDEツールなど) を参照するための Quarkus ツールで使用されるレジストリーへの収録
-
プロジェクトの一貫したフォーマットとリリース
-
より大きなコミュニティのアウトリーチと素晴らしいコラボレーションの場
エクステンションの開発をリードしたい場合は、 GitHub でまだ提案されていないかどうか を確認したり、 エクステンションの提案課題を作成 してみましょう。
ブログ記事を作成中ですので、そちらで詳細をお知らせします。それまでは、 すでにあるエクステンション をチェックしてみてください。
ADOPTERS.md
Quarkus の使用方法についてのストーリーを共有するために、リポジトリのルートに ADOPTERS.md
ファイルを追加しました。
Quarkus をご利用の方で、ブログで取材を受けたい方や、このファイルに単純に追加したい方は、ご連絡いただければ、喜んでお受けいたします。
コントリビューター
Quarkus コミュニティは成長しており、現在 378人のコントリビューター がいます。一人一人に多くの感謝の意を表します。
特に 1.9 リリースでは、以下の皆様に感謝します: Abel Salgado Romero, Adam Bien, Alex Soto, Alexey Loubyansky, AlexeyAnufriev, Andrea Cosentino, Andy Damevin, Anh Le (Andy), Armel Soro, Arne Mejlholm, asodja, Auri Munoz, Bill Burke, Bobby Philip, Centro de Computos, Chris Laprun, Clement Escoffier, Daniel Badawi, Daniel Platz, David M. Lloyd, Dillon Fearns, Dmitry Shohov, Driss Amri, Dušan Križan, Emanuel Alves, Enercido Alcantara, Erin Schnabel, Fabian Stäber, Fabio Iwakoshi, Falko Modler, Foivos Zakkak, Galder Zamarreño, Garima Monga, Gautier de Saint Martin Lacaze, Geoffrey De Smet, George Gastaldi, Georgios Andrianakis, ghokun, Guillaume Le Floch, Guillaume Smet, Gunnar Morling, Gytis Trikleris, Harsh Madhani, Harsha R, Ioannis Canellos, Jack Hu, Jaikiran Pai, Jakub Scholz, Jan Martiška, João Lucas Scharf, Julien Ponge, Justin Lee, kdnakt, Ken Finnigan, Kevin Viet, Knut Wannheden, Ladislav Thon, Laurent Broudoux, lburgazzoli, Loïc Mathieu, Maciej Swiderski, Manyanda Chitimbo, Marcin Czeczko, Markus Heberling, Martin Kouba, Matej Vasek, Max Rydahl Andersen, Michal Krzywanski Michał Górniewski, Michał Szynkiewicz, Miguel Serra, Nathan Erwin, Oliver Libutzki, Paul Kunysch, Pedro Igor, Peter Palaga, Phillip Krüger, Roberto Cortez, Rohan Maity, Ron Sigal, Rostislav Svoboda, Sanne Grinovero, Sergey Beryozkin, Simon Bengtsson, Stephane Epardaud, Stuart Douglas, Thomas Pfaff, Vincent Sevel, Vincent Sourin, Vinícius Ferraz Campos Florentino, William Burns, xstefank, Xumk and Yoann Rodière.
参加のお誘い
皆様からのフィードバックは非常に重要です。バグ報告、改善要望を是非お願いします。一緒に素晴らしいものを作り上げていきましょう!
Quarkus ユーザーの場合でも、単に興味を持っているだけの場合でも、気軽にコミュニティに参加してください。
-
GitHub でフィードバック
-
コードを作成し、 プルリクエスト を送信
-
Stack Overflow で質問