跳到主要内容
版本:3.5.10

Class Data Sharing 和 AOT 缓存

QWen Max 中英对照 Class Data Sharing and AOT Cache

本节包含有关在 Spring Boot 应用程序中使用 Class Data Sharing(CDS)和 AOT Cache 的信息。有关 Spring Boot 对 CDS 和 AOT Cache 支持的概述,请参阅 Class Data Sharing

使用 CDS 和 Buildpacks 打包应用程序

Spring Boot 对 Cloud Native Buildpacks 的支持,结合 Paketo Java buildpack 及其 Spring Boot 支持,可用于生成包含 CDS 优化应用的 Docker 镜像。

要在生成的 Docker 镜像中启用 CDS 优化,应在构建镜像时将 buildpack 环境变量 BP_JVM_CDS_ENABLED 设置为 true,具体方法如 Maven 插件Gradle 插件 文档中所述。这将使 buildpack 对应用程序执行一次训练运行,将 CDS 归档保存到镜像中,并在启动应用程序时使用该 CDS 归档。

Paketo Spring Boot Buildpack 的 文档 提供了其他可通过 builder 环境变量启用的配置选项信息,例如 CDS_TRAINING_JAVA_TOOL_OPTIONS,该变量允许仅在 CDS 训练运行期间覆盖默认的 JAVA_TOOL_OPTIONS

使用 AOT 缓存和 Buildpacks 打包应用程序

Spring Boot 对 Cloud Native Buildpacks 的支持,结合 Paketo Java buildpack 及其 Spring Boot 支持,可用于生成包含 AOT Cache 优化应用的 Docker 镜像。

要在生成的 Docker 镜像中启用 AOT Cache,你需要使用 Java 25 或更高版本,并在构建镜像时将 buildpack 环境变量 BP_JVM_AOTCACHE_ENABLED 设置为 true,具体方法如 Maven pluginGradle plugin 文档中所述。这将使 buildpack 对应用程序执行一次训练运行,将 AOT Cache 保存到镜像中,并在启动应用程序时使用该缓存。

Paketo Spring Boot Buildpack 的 文档 提供了其他可通过构建器环境变量启用的配置选项信息,例如 TRAINING_RUN_JAVA_TOOL_OPTIONS,该变量允许仅针对 AOT 缓存训练运行覆盖默认的 JAVA_TOOL_OPTIONS

使用 CDS 和 Dockerfile 打包应用程序

如果你不想使用 Cloud Native Buildpacks,也可以通过 Dockerfile 来使用 CDS。有关此内容的更多信息,请参阅 Dockerfiles 参考文档

使用 AOT 缓存和 Dockerfile 打包应用程序

如果你不想使用 Cloud Native Buildpacks,也可以在 Dockerfile 中使用 AOT Cache。有关此内容的更多信息,请参阅 Dockerfiles 参考文档

在训练运行期间防止远程服务交互

在执行训练运行(training run)时,可能需要自定义 Spring Boot 应用程序的配置,以防止在 Spring 生命周期启动之前连接到远程服务。这种情况通常发生在早期的数据库交互中,可以通过相关的配置来处理,这些配置可以默认应用到你的应用程序(或专门用于训练运行)以阻止此类交互,详见 相关文档