Spring Boot 2.3 リリースノート
Spring Boot 2.3.10 で使用する場合
概要
前書き
リリースの日付: 2021-09-08
Red Hat ドキュメントへのフィードバック
弊社のドキュメントに関するご意見やご感想をお寄せください。フィードバックをお寄せいただくには、ドキュメントのテキストを強調表示し、コメントを追加できます。
本セクションでは、フィードバックの送信方法を説明します。
要件
- Red Hat カスタマーポータルにログインしている。
- Red Hat カスタマーポータルで、マルチページ HTML 形式でドキュメントを表示します。
手順
フィードバックを提供するには、以下の手順を実施します。
ドキュメントの右上隅にある フィードバック ボタンをクリックして、既存のフィードバックを確認します。
注記フィードバック機能は、マルチページ HTML 形式でのみ有効です。
- フィードバックを提供するドキュメントのセクションを強調表示します。
ハイライトされたテキスト近くに表示される Add Feedback ポップアップをクリックします。
ページの右側のフィードバックセクションにテキストボックスが表示されます。
テキストボックスにフィードバックを入力し、Submit をクリックします。
ドキュメントに関する問題が作成されます。
- 問題を表示するには、フィードバックビューで問題トラッカーリンクをクリックします。
第1章 必要なインフラストラクチャーコンポーネントのバージョン
Red Hat は、サポートとして明示的に指定されたコンポーネントを除き、以下のコンポーネントに対するサポートは提供していません。
| コンポーネント名 | バージョン |
|---|---|
| Maven | 3.6.0 |
| Fabric8 Maven プラグイン | 4.4.1 |
| OpenJDK 8、OpenJDK 11[c] | |
| Red Hat Enterprise Linux 7[d] | 7.7 |
| Red Hat Enterprise Linux 8[e] | 8.1 |
| OpenShift Container Platform (OCP)[f] | 3.11、4.8 |
| Minishift | 1.34.2 以降 |
| CDK[g] | 3.11.0 |
| git | 2.0 以降 |
| oc コマンドラインツール | 3.11 以降[h] |
[a]
JRE はソースから Java アプリケーションをコンパイルするツールを提供しないため、完全な JDK インストールが必要です。
[b]
Red Hat OpenJDK は、Red Hat によってサポートされています。
[c]
OpenJDK 9 は Red Hat ではサポートされていません。
[d]
実稼働環境のスタンドアロン RHEL に CNR をベースとしたアプリケーションをデプロイする場合。
[e]
実稼働環境のスタンドアロン RHEL に CNR をベースとしたアプリケーションをデプロイする場合。
[f]
OCP は Red Hat によってサポートされます。
[g]
CDK は Red Hat によってサポートされています。
[h]
CLI ツール oc のバージョンは、使用している OCP のバージョンに対応する必要があります。
| |
第2章 サポートされる Spring Boot Runtime コンポーネント設定およびインテグレーション
以下のリソースは、Spring Boot での Red Hat 製品のサポートされる構成およびインテグレーションを定義します。
- 実稼働環境で Spring Boot との統合でサポートされる技術の一覧は、「Supported Spring Boot configurations and integrations」を参照してください。
- Red Hat が Spring Boot 2.3.10 でサポートを提供する Maven アーティファクトのリストについては、コンポーネントの詳細の概要 に関する該当するセクションを参照してください。
第3章 特長
3.1. 新機能および変更された機能
3.1.1. IBM Power System のインフラストラクチャーでプロビジョニングされた OpenShift でのサンプルアプリケーションのデプロイ
IBM Power System インフラストラクチャーでプロビジョニングされている OpenShift 環境でサンプルアプリケーションをデプロイするには、pom.xml ファイルおよびコマンドに関連する IBM Power System のイメージ名を指定します。
サンプルアプリケーションの一部には、ワークフローを実証するために Red Hat Data Grid などの他の製品も必要になります。この場合は、これらの製品のイメージ名を、サンプルアプリケーションの YAML ファイルで関連する IBM Power System のイメージ名に変更する必要もあります。
3.1.2. 新しい Spring Boot OAuth2 クライアントおよび Resource Server Starters
OAuth2 Spring Security Starter のテスト済みおよび検証されたビルドが、以前の Spring Boot リリースに含まれる Spring Boot Keycloak Starter に置き換わるものである。本リリースで導入された新しい Starters のセットには、Spring Security OAuth2 Client Starter および Spring Security OAuth2 Resource Server Starter が含まれます。新しい Starters のいずれも Red Hat によってサポートされます。
3.1.3. OpenJDK 8 および OpenJDK 11 RHEL 8 Universal Base Images (UBI8) のサポート
Spring Boot 2.3 では、RHEL 8 上の Red Hat OpenJDK 8 用および Red Hat OpenJDK 11 用の OCI 準拠の ユニバーサルベースイメージ を使用して、Spring Boot アプリケーションを OpenShift にビルドし、デプロイするためのサポートが導入されました。RHEL 8 OpenJDK Universal Base イメージは、Red Hat がサポートする RHEL 8 OpenJDK ビルダーイメージを、Red Hat Build of Spring Boot の以前のリリースに置き換えます。これまでサポートされていた RHEL 8 OpenJDK ベースイメージは、Red Hat Build of Spring Boot での使用はサポート対象外となりました。
3.1.4. 2.4.1 にアップグレードされた Dekorate バージョン
Spring Boot 2.3 では、Spring Boot BOM に含まれる Dekorate のバージョンが 2.4.1 にアップグレードされます。
- Dekorate 2.4.1 の新機能
設定可能なロギングしきい値
io.dekorate.log.levelシステムの property-drawer を使用して、ログレベルのしきい値を設定することで Dekorate 出力の詳細を制御できます。以下の値がサポートされています。-
OFF -
ERROR -
WARN -
INFO(デフォルト) -
DEBUG
-
設定可能な
vcsプロパティーDekorate 1.x では、生成されたマニフェストに追加される
vcsラベルには、propertyremoteがoriginとしてハードコードされ、URL がhttpプロトコルに変換されていました。Dekorate 2.4.1 では、プロパティー
remoteは設定でき、明示的に指定されない限り URL は HTTP に変換されません。これらのプログラミングは、以下のようにio.dekorate.option.annotation.VcsOptionsを使用して設定できます。public @interface VcsOptions { /** * The remote to use. * * @return the name of the remote, defaults to 'origin'. */ String remote() default "origin"; /** * Flag that specifies that https is preferred. * When use vcs url that use 'git+ssh' will be converted to https. * * @return true, if https is prefered. */ boolean httpsPreferred() default false; }プロパティーを以下のように設定することもできます。
dekorate.option.vcs.remote=<your remote here> dekorate.option.vcs.https-preferred=true
ポートマッピングへの変更
以前のバージョンの Dekorate では、
IngressリソースおよびRouteリソースを除くサービスリソースでのポートマッピングが許可されませんでした。このため、サービスの内部コンシューマーは、アプリケーションが使用するcontainerPortを正確に知る必要がありました。Dekorate 2.4.1 は、HTTP および HTTPS の loose-coupling を許可するポートマッピングを提供します。HTTPサービスは、ポート80およびhttpsサービスからポート443にマッピングされるようになりました。ポートマッピングは、以下の基準に従って行われます。-
http、web、およびhttp1という名前のポートは、ポート80にマッピングされます。 -
httpsまたはh2cという名前のポートは、ポート443にマッピングされます。 -
番号付けされた
8080はポート80にマッピングされます。 -
番号付けされた
8443はポート443にマッピングされます。
-
- Dekorate 2.4.1 でのアノテーションの命名への変更
以下の表は、アノテーション名の変更を示しています。
Dekorate 1.x Dekorate 2.4.1 DockerBuildEnableDockerBuildS2iBuildEnableS2iBuildJibBuildEnableJibBuild- モジュールは Dekorate 2.4.1 で削除されました。
以下のモジュールは、バージョン 2.4.1 の Dekorate から削除されました。
- service-catalog
- halkyon
- application-crd
CRD ジェネレーター
この機能は
fabric8 kubernetes-clientに移動しました。dependencies uberjar
以前のバージョンの Dekorate は、すべての依存関係を持つシャドウ付き uberjar を提供していました。Dekorate 2.4.1 以降では、すべての依存関係を含むシャドウ uberjar が利用できなくなりました。
io.dekorate.deps.xxxライブラリーを使用する場合は、元のパッケージにこれらを更新する必要があります。
3.1.5. OpenShift の Spring Boot メータリングラベル
メータリングラベルを Spring Boot Pod に追加し、OpenShift Metering Operator を使用して Red Hat サブスクリプションの詳細を確認できます。
メータリングラベルは、Operator がデプロイおよび管理する Pod に追加しないでください。
Spring Boot は以下のメータリングラベルを使用する必要があります。
-
com.redhat.component-name: "Spring_Boot" -
com.redhat.component-type: application -
com.redhat.component-version: 2.3.10 -
com.redhat.product-name: "Red_Hat_Runtimes" -
com.redhat.product-version: 2021-Q3
詳細は、「メータリング」のドキュメントを参照してください。
ラベルの詳細は、「ノードでラベルを更新する方法について」を参照してください。
3.1.6. IBM Power Systems での Spring Boot Runtime のサポート
ppc64le プラットフォーム向け Spring Boot の Red Hat サポートは、IBM Power Systems インフラストラクチャーでプロビジョニングされる OpenShift 環境でのみサポートされます。IBM Power Systems での RHEL のスタンドアロンインストールでの Spring Bootアプリケーションの実行はサポートされていません。
IBM Power System でサポートされている OpenJ9 Java イメージと、IBM Power System でサポートされている製品向け新しいイメージは、Red Hat Ecosystem Catalog から入手できます。
3.2. 非推奨の機能
本リリースでは、非推奨としてマークされている機能はありません。
3.3. テクノロジープレビュー
3.3.1. Spring Boot アプリケーションを OpenShift Container Platform にデプロイするための Dekorate ビルドフック
Dekorate を使用すると、Maven でアプリケーションをコンパイルした後に自動的に起動するアプリケーションの Source-to-image ビルドを設定できます。この機能は、Dokorate バージョン 1.0.0 以降で テクノロジープレビュー として提供されます。Red Hat は、実稼働環境でのこの機能の使用に対するサポートを提供していません。
第4章 リリースコンポーネント
本リリースに含まれるリリースコンポーネントの完全リストと、これらのコンポーネントの現在のサポートステータスの詳細は、Red Hat Runtimes: Component Details Overview を参照してください。
第5章 修正された問題
この Spring Boot リリースには、アップストリームリリースのすべてのバグ修正が含まれます。コミュニティーリリースで解決された問題は、Spring Boot 2.3.10 リリースノート に記載されています。
第6章 既知の問題
IBM Z および IBM Power Systems では、Red Hat AMQ Streams イメージが利用できない
Red Hat AMQ Streams Operator イメージおよび Kafka イメージは、IBM Z および IBM Power Systems では使用できません。イメージは利用できないためため、スターター
vertx-spring-boot-starter-kafkaは IBM Z および IBM Power Systems で AMQ Streams と動作することが認定されていません。-
ENTSBT-850: Spring Boot Validation スターターの例外:
javax.validation.constraintsパッケージが存在しない -
SB-379:
openshift-openjdkイメージに APR/native ライブラリーがない -
SB-1165: Database アプリケーションは、
org.apache.tomcat.jdbc.pool.DataSourceが見つからなかったため、実行に失敗する - ENTSBT-202: Spring Boot Webflux AMQP での相互 TLS 認証が機能しない
-
ENTSBT-366: Infinispan Hotrod Client スターター:
infinispan.remote.java-serial-whitelist=<your_class_name>プロパティーがapplication.propertiesに設定されていない場合のorg.infinispan.client.hotrod.exceptions.HotRodClientException:: ISPN004034: Unable to unmarshall bytes -
ENTSBT-367: Red Hat Spring Boot 2.3.10 と Infinispan/Red Hat Data Grid 7.3 との間のリモート通信は、
infinispan.remote.protocol-version=2.6プロパティを設定しないと動作しない。 ENTSBT-912: OpenShift Container Platform 4.x でサポートされていないサンプルアプリケーション。
Spring Boot ランタイムは、Developer Launcher でアクセスされるサンプルアプリケーションを提供します。これらのサンプルアプリケーションは OpenShift Container Platform 4.x ではサポートされません。
ENTSBT-1131: リリースには 2 つの
io.vertx:vertx-dependenciesBOM ファイルがあります。-
3.9.5.redhat-00002.pom -
3.9.8.redhat-00004.pom.
スターターの依存関係は
3.9.8.redhat-00004.pomファイルにのみ含まれているため、3.9.8.redhat-00004.pomを Eclipse Vert.x Spring Boot Starter で使用します。-
第7章 本リリースに関連するアドバイザリー
本リリースに含まれる拡張機能、バグ修正、および CVE 修正を文書化するために、以下のアドバイザリーが発行されています。