AOT キャッシュ

このセクションでは、Spring Boot アプリケーションで AOT キャッシュを使用する方法について説明します。Spring Boot の AOT キャッシュサポートの概要については、AOT キャッシュを参照してください。

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

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

生成された Docker イメージで AOT キャッシュを有効にするには、Java 25 以降を使用する必要があります。また、Maven プラグインおよび Gradle プラグインのドキュメントに記載されているように、イメージをビルドする際に buildpack 環境変数 BP_JVM_AOTCACHE_ENABLED を true に設定する必要があります。これにより、buildpack はアプリケーションのトレーニング実行を行い、AOT キャッシュをイメージに保存し、アプリケーションの起動時に AOT キャッシュを使用します。

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

AOT キャッシュと Dockerfiles を使用してアプリケーションをパッケージ化する

Cloud Native Buildpacks を使用しない場合は、Dockerfile で AOT キャッシュ(または CDS)を使用することもできます。詳細については、Dockerfiles リファレンスドキュメントを参照してください。

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

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