Spring Boot 2.3 リリースノート

Red Hat support for Spring Boot 2.3

Spring Boot 2.3.10 で使用する場合

概要

本リリースノートには、Spring Boot 2.3.10 に関する重要な情報が含まれています。

前書き

リリースの日付: 2021-09-08

Red Hat ドキュメントへのフィードバック

弊社のドキュメントに関するご意見やご感想をお寄せください。フィードバックをお寄せいただくには、ドキュメントのテキストを強調表示し、コメントを追加できます。

本セクションでは、フィードバックの送信方法を説明します。

要件

  • Red Hat カスタマーポータルにログインしている。
  • Red Hat カスタマーポータルで、マルチページ HTML 形式でドキュメントを表示します。

手順

フィードバックを提供するには、以下の手順を実施します。

  1. ドキュメントの右上隅にある フィードバック ボタンをクリックして、既存のフィードバックを確認します。

    注記

    フィードバック機能は、マルチページ HTML 形式でのみ有効です。

  2. フィードバックを提供するドキュメントのセクションを強調表示します。
  3. ハイライトされたテキスト近くに表示される Add Feedback ポップアップをクリックします。

    ページの右側のフィードバックセクションにテキストボックスが表示されます。

  4. テキストボックスにフィードバックを入力し、Submit をクリックします。

    ドキュメントに関する問題が作成されます。

  5. 問題を表示するには、フィードバックビューで問題トラッカーリンクをクリックします。

第1章 必要なインフラストラクチャーコンポーネントのバージョン

Red Hat は、サポートとして明示的に指定されたコンポーネントを除き、以下のコンポーネントに対するサポートは提供していません。

コンポーネント名バージョン

Maven

3.6.0

Fabric8 Maven プラグイン

4.4.1

JDK[a][b]

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 製品のサポートされる構成およびインテグレーションを定義します。

第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 ラベルには、property remoteorigin としてハードコードされ、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 にマッピングされるようになりました。ポートマッピングは、以下の基準に従って行われます。

    • httpweb、および http1 という名前のポートは、ポート 80 にマッピングされます。
    • https または h2c という名前のポートは、ポート 443 にマッピングされます。
    • 番号付けされた 8080 はポート 80 にマッピングされます。
    • 番号付けされた 8443 はポート 443 にマッピングされます。
Dekorate 2.4.1 でのアノテーションの命名への変更

以下の表は、アノテーション名の変更を示しています。

Dekorate 1.xDekorate 2.4.1

DockerBuild

EnableDockerBuild

S2iBuild

EnableS2iBuild

JibBuild

EnableJibBuild

モジュールは 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-dependencies BOM ファイルがあります。

    • 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 で使用します。