Skip to content

Document Buildpacks CDS and Spring AOT support #40762

@sdeleuze

Description

@sdeleuze

As discussed with @philwebb today, it would be nice if Spring Boot 3.3 documentation could make CDS and Spring AOT Buildpacks support, which has just been deployed to production, more discoverable. The various configurations are now documented in https://github.com/paketo-buildpacks/spring-boot README, but from a Spring Boot POV my proposal would be to:

  • Document that (at least) in the efficient deployment section
  • Link the official CDS documentation
  • Mention that CDS can be enabled via BP_JVM_CDS_ENABLED=true. In practice, that means Buildpacks will perform a training run, create a related .jsa file with the application classes cached, and use it by default when running the container.
  • Document that CDS_TRAINING_JAVA_TOOL_OPTIONS can be used to fine tune the training run configuration (typical use case is to avoid early DB interactions, related documentation will be available in https://github.com/spring-projects/spring-lifecycle-smoke-tests, I plan to work on that).
  • Mention that Spring AOT can also be enabled via BP_SPRING_AOT_ENABLED=true. That requires AOT processing upfront (already documented) and will enable the AOT mode when running the container.
  • Link https://github.com/paketo-buildpacks/spring-boot for more details (especially about the BPL* configs we don't have to document on Spring Boot side).

If you do tests to ensure it works as expected, be aware that for now it is expected to work only on x86. aarch64 support should be fixed (when leveraging the beta multi arch support) before Spring Boot 3.3.0 release (ongoing related work is happening).

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions