AOT 缓存
本节包含有关在 Spring Boot 应用程序中使用 AOT 缓存的信息。有关 Spring Boot 对 AOT 缓存支持的概述,请参见 AOT 缓存。
使用 AOT 缓存和 Buildpacks 打包应用程序
| Buildpacks 尚不支持 AOT 缓存。但是,您可以使用 CDS(AOT 缓存的前身)与 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 Buildpack for Spring Boot 文档 包含有关可与构建器环境变量一起启用的其他配置选项的信息,例如 CDS_TRAINING_JAVA_TOOL_OPTIONS,它允许仅在 CDS 训练运行期间覆盖默认的 JAVA_TOOL_OPTIONS。
使用 AOT 缓存和 Dockerfiles 打包应用程序
如果您不想使用 Cloud Native Buildpacks,则可以使用 AOT 缓存(或 CDS)与 Dockerfile。有关更多信息,请参阅 Dockerfiles 参考文档。
在训练运行期间阻止远程服务交互
在执行训练运行期间,可能需要自定义 Spring Boot 应用程序配置,以防止在 Spring 生命周期启动之前可能发生的远程服务连接。这通常可能发生在早期数据库交互中,并且可以通过相关配置来处理,这些配置可以默认应用于您的应用程序(或专门应用于训练运行),以防止此类交互,请参见 相关文档。