Red Hat ビルドの Quarkus 1.3 の リリースノート

Red Hat build of Quarkus 1.3

概要

本ガイドには、Red Hat ビルドの Quarkus 1.3 のリリースノートが含まれています。

前書き

本リリースノートには、新機能、テクノロジープレビューの機能、既知の問題、および Red Hat ビルドの Quarkus 1.3 で修正された問題が記載されています。

第1章 Red Hat ビルドの Quarkus

Red Hat ビルドの Quarkus は、コンテナーおよび Red Hat OpenShift Container Platform と使用するために最適化された Kubernetes ネイティブ Java スタックです。Quarkus は、Eclipse MicroProfile、Apache Kafka、RESTEasy (JAX-RS)、Hibernate ORM (JPA)、Spring、Infinispan、Apache Camel などの一般的な Java 標準、フレームワーク、およびライブラリーと連携するように設計されています。

Quarkus のディペンデンシーインジェクション (依存性の注入) ソリューションは、CDI (コンテキストとディペンデンシーインジェクション) をベースとし、エクステンションフレームワークを備えているので、機能の拡張、およびフレームワークの設定、起動、アプリケーションへの統合が可能です。

Quarkus は、コンテナーファーストという手法で Java アプリケーションをビルドします。この手法により、Java で書かれたマイクロサービスベースのアプリケーションのビルドが大幅に容易になるほか、これらのアプリケーションがサーバーレスコンピューティングフレームワークで実行している関数を呼び出すことができるようになります。これにより、Quarkus アプリケーションのメモリーフットプリントは小さくなり、起動時間は高速化されます。

第2章 Red Hat ビルドの Quarkus 対応プラットフォーム、設定、エクステンション、および依存関係

本セクションでは、Red Hat ビルドの Quarkus 対応の環境、設定、エクステンション、および依存関係について記載しています。

2.1. テスト済みおよび検証済みの環境

Red Hat ビルドの Quarkus は、以下のプラットフォームでサポートされています。

  • Red Hat Enterprise Linux 8
  • Red Hat OpenShift Container Platform 3.11 on x86_64
  • Red Hat OpenShift Container Platform 4.3 on x86_64
  • Red Hat OpenShift Container Platform 4.3 on IBM Z (Quarkus 1.3.4 でサポート)
注記

テストおよび検証の対象は、データベースクライアントのみです (サーバーは対象外)。

2.2. サポートされる設定

2.3. サポートされるエクステンションおよび依存関係

Red Hat は、以下に示す Red Hat ビルドの Quarkus のエクステンションおよび依存関係に実稼働環境のサポートを提供します。

  • quarkus-agroal
  • quarkus-config-yaml
  • quarkus-core
  • quarkus-hibernate-orm
  • quarkus-hibernate-orm-panache
  • quarkus-hibernate-validator
  • quarkus-jackson
  • quarkus-jaxb
  • quarkus-jdbc-mariadb
  • quarkus-jdbc-mssql
  • quarkus-jdbc-mysql
  • quarkus-jdbc-postgresql
  • quarkus-jsonb
  • quarkus-jsonp
  • quarkus-kafka-client
  • quarkus-logging-json
  • quarkus-narayana-jta
  • quarkus-oidc
  • quarkus-quartz
  • quarkus-reactive-pg-client
  • quarkus-rest-client
  • quarkus-resteasy
  • quarkus-resteasy-jackson
  • quarkus-resteasy-jaxb
  • quarkus-resteasy-jsonb
  • quarkus-scheduler
  • quarkus-smallrye-context-propagation
  • quarkus-smallrye-fault-tolerance
  • quarkus-smallrye-health
  • quarkus-smallrye-jwt
  • quarkus-smallrye-metrics
  • quarkus-smallrye-openapi
  • quarkus-smallrye-opentracing
  • quarkus-smallrye-reactive-messaging
  • quarkus-smallrye-reactive-messaging-amqp
  • quarkus-smallrye-reactive-messaging-kafka
  • quarkus-smallrye-reactive-streams-operators
  • quarkus-spring-boot-properties
  • quarkus-spring-data-jpa
  • quarkus-spring-di
  • quarkus-spring-security
  • quarkus-spring-web
  • quarkus-undertow
  • quarkus-undertow-websockets
  • quarkus-vertx
  • quarkus-vertx-web

2.4. 開発サポート

Red Hat は、以下に示す Red Hat ビルドの Quarkus の機能、プラグイン、エクステンション、および依存関係に対して 開発サポート を提供します。

機能

  • ライブ開発モード
  • デバッグ

プラグイン

  • Quarkus Maven プラグイン (quarkus-maven-plugin))
  • Maven Surefire プラグイン (maven-surefire-plugin)

エクステンションおよび依存関係

  • quarkus-jdbc-derby
  • quarkus-jdbc-h2
  • quarkus-openshift
  • quarkus-junit5
  • rest-assured

第3章 非推奨のコンポーネントおよび機能

本セクションに記載するコンポーネントおよび機能は、Red Hat ビルドの Quarkus 1.3 で非推奨となりました。これらは、本リリースに含まれており、サポートもされますが、機能拡張の予定はなく、今後削除される可能性があります。

  • quarkus-smallrye-opentracing エクステンション
  • ReactiveX API の使用
  • reactive-streams-operators API

第4章 テクノロジープレビュー

本セクションでは、Red Hat ビルドの Quarkus 1.3 のテクノロジープレビューにおける機能およびエクステンションについて記載しています。

重要

これらの機能は、テクノロジープレビュー機能としてのみ利用可能です。テクノロジープレビュー機能は、Red Hat の実稼働環境のサービスレベルアグリーメント (SLA) ではサポートされず、機能的に完全ではないことがあるため、Red Hat では実稼働環境での使用を推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供し、お客様には開発段階で機能性をテストし、フィードバックをお寄せいただくことができます。

Red Hat のテクノロジープレビューについての詳細は 「テクノロジープレビュー機能のサポート範囲」 を参照してください。

機能

  • GraalVM を使用したネイティブコンパイル
  • リモート開発

エクステンションおよび依存関係

  • quarkus-mutiny
  • quarkus-resteasy-mutiny
  • quarkus-keycloak-authorization

第5章 既知の問題

本セクションでは、Red Hat ビルドの Quarkus 1.3 の既知の問題について記載しています。

  • smallrye-reactive-messaging エクステンションを追加すると、コードで Reactive API を使用していない場合でも、Quarkus を閉じる際に ReactiveX に関する警告メッセージが表示されます。詳細は、「Red Hat build of Quarkus warns that io.vertx.reactivex.core.Vertx is deprecated」 を参照してください。
  • quarkus-container-image-s2 エクステンションは通常、quarkus-openshift エクステンションを介して間接的に使用され、s390x アーキテクチャーに推奨される Red Hat OpenJ9 イメージを、run-java.sh スクリプトが含まれていないかのように扱います。これは生成された openshift.yml ファイルに影響します。

    イメージが run-java.sh スクリプトを使用する場合、コンテナーの定義には複数の環境変数のみが含まれます。コンテナーで実行される必要があるコマンドは含まれません。代わりに、run-java.sh スクリプトを実行するデフォルトの S2I run スクリプトが使用されます。

    イメージが run-java.sh スクリプトを使用しない場合、コンテナー定義にはコンテナーで実行される必要のある java コマンドが含まれます。

    これらのシナリオで 1 つ異なるのは、run-java.sh スクリプトが、現在の作業ディレクトリーをアプリケーション JAR ファイルが置かれているディレクトリー (通常は /deployments) へ変更する点です。これは、application.properties 設定ファイルを使用して ConfigMap をコンテナーファイルシステムにマウントする際に重要となります。run-java.sh スクリプトの場合、通常は ConfigMap を /deployments/config ディレクトリーにマウントする必要があります。他のイメージの場合は、ConfigMap をイメージが定義するデフォルトの作業ディレクトリーにマウントする必要があります。

    注記

    この問題は、s390x アーキテクチャーに推奨される Red Hat OpenJ9 イメージを使用するすべてのアプリケーションへの影響はありません。

    原因

    quarkus-container-image-s2i エクステンションには、run-java.sh スクリプトが含まれる既知のイメージの一覧があります。その他のイメージは、run-java.sh スクリプトが含まれていないかのように処理されます。この問題は今後のリリースで修正される予定です。

    回避策

    • お使いのアプリケーションが現在の作業ディレクトリーの問題の影響を受ける場合、Pod 定義でコンテナーの現在の作業ディレクトリーを定義できます。これにより、イメージで定義されたデフォルトの作業ディレクトリーが上書きされます。quarkus-openshift エクステンションを使用して openshift.yml ファイルを生成する場合は、以下の設定プロパティーを使用します。

      quarkus.openshift.working-dir=/deployments
    • 特に application.properties 設定ファイルで ConfigMap をマウントする際に、お使いのアプリケーションが現在の作業ディレクトリーの問題の影響を受ける場合は、別のオプションとして、ConfigMap を特定のディレクトリーにマウントします。quarkus-openshift エクステンションを使用する場合は、イメージが定義したデフォルトの作業ディレクトリーが /home/jboss であると想定し、以下の設定プロパティーを使用します。

      quarkus.openshift.mounts.<mount name>.path=/home/jboss/config

第6章 Quarkus 1.3.4 で修正された問題

Quarkus 1.3.4 では、安定性が向上し、本セクションに記載した各種の問題が修正されました。

6.1. 主要な変更点

6.2. マイナーな変更点

6.3. Quarkus 1.3.4 SP1 で修正された問題

Quarkus 1.3.4 SP1 リリースには、以下のバグ修正が含まれます。

改訂日時: 2020-11-18 01:18:08 UTC

法律上の通知

Copyright © 2020 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.