クラスデータの共有

このセクションでは、Spring Boot アプリケーションでのクラスデータ共有 (CDS) の使用について説明します。CDS に対する Spring Boot サポートの概要については、クラスデータの共有を参照してください。

CDS と Buildpacks を使用してアプリケーションをパッケージ化する

Spring Boot の Cloud Native Buildpacks サポートPaketo ジャワ buildpack (英語) およびその Spring Boot サポート (英語) を使用すると、CDS に最適化されたアプリケーションを含む Docker イメージを生成できます。

生成された Docker イメージで CDS 最適化を有効にするには、Maven プラグインおよび Gradle プラグインのドキュメントに従って、イメージをビルドするときに buildpack 環境変数 BP_JVM_CDS_ENABLED を true に設定する必要があります。これにより、buildpack はアプリケーションのトレーニング実行を実行し、イメージに CDS アーカイブを保存し、アプリケーションの起動時に CDS アーカイブを使用します。

buildpack 環境変数 BP_SPRING_AOT_ENABLED を true に設定して、Ahead-of-Time 処理でビルドされたアプリケーションを実行するときに CDS とともに AOT モードを有効にすることもできます。

Spring Boot 用の Paketo Buildpack ドキュメント [GitHub] (英語) には、CDS トレーニング実行に対してのみデフォルトの JAVA_TOOL_OPTIONS をオーバーライドできる CDS_TRAINING_JAVA_TOOL_OPTIONS など、ビルダー環境変数で有効にできるその他の構成オプションに関する情報が記載されています。

トレーニング実行中の リモートサービスの相互作用を防ぐ

トレーニング実行を実行する場合、Spring ライフサイクルの開始前に発生する可能性のある リモートサービスへの接続を防ぐために、Spring Boot アプリケーション構成をカスタマイズする必要がある場合があります。これは通常、初期のデータベース相互作用で発生する可能性があり、このような相互作用を防ぐためにアプリケーション (または具体的にはトレーニング実行) にデフォルトで適用できる関連構成を介して処理できます。関連ドキュメント [GitHub] (英語) を参照してください。