diff --git a/framework-docs/modules/ROOT/pages/data-access/jdbc/simple.adoc b/framework-docs/modules/ROOT/pages/data-access/jdbc/simple.adoc index d649cec7672..4b1823ace27 100644 --- a/framework-docs/modules/ROOT/pages/data-access/jdbc/simple.adoc +++ b/framework-docs/modules/ROOT/pages/data-access/jdbc/simple.adoc @@ -15,7 +15,7 @@ configuration options. You should instantiate the `SimpleJdbcInsert` in the data layer's initialization method. For this example, the initializing method is the `setDataSource` method. You do not need to subclass the `SimpleJdbcInsert` class. Instead, you can create a new instance and set the table name by using the `withTableName` method. -Configuration methods for this class follow the `fluid` style that returns the instance +Configuration methods for this class follow the `fluent` style that returns the instance of the `SimpleJdbcInsert`, which lets you chain all configuration methods. The following example uses only one configuration method (we show examples of multiple methods later): diff --git a/framework-docs/modules/ROOT/pages/integration/aot-cache.adoc b/framework-docs/modules/ROOT/pages/integration/aot-cache.adoc index a8ceb9735f2..8ac72cf4d08 100644 --- a/framework-docs/modules/ROOT/pages/integration/aot-cache.adoc +++ b/framework-docs/modules/ROOT/pages/integration/aot-cache.adoc @@ -3,21 +3,22 @@ :page-aliases: integration/class-data-sharing.adoc :page-aliases: integration/cds.adoc -The ahead-of-time cache is a JVM feature introduced in Java 24 via the +The ahead-of-time cache is a JVM feature introduced in Java 24 via https://openjdk.org/jeps/483[JEP 483] that can help reduce the startup time and memory -footprint of Java applications. AOT cache is a natural evolution of https://docs.oracle.com/en/java/javase/17/vm/class-data-sharing.html[Class Data Sharing (CDS)]. +footprint of Java applications. AOT cache is a natural evolution of +https://docs.oracle.com/en/java/javase/17/vm/class-data-sharing.html[Class Data Sharing (CDS)]. Spring Framework supports both CDS and AOT cache, and it is recommended that you use the latter if available in the JVM version you are using (Java 24+). To use this feature, an AOT cache should be created for the particular classpath of the application. It is possible to create this cache on the deployed instance, or during a -training run performed for example when packaging the application thanks to an hook-point +training run performed for example when packaging the application thanks to a hook-point provided by the Spring Framework to ease such use case. Once the cache is available, users should opt in to use it via a JVM flag. NOTE: If you are using Spring Boot, it is highly recommended to leverage its {spring-boot-docs-ref}/packaging/efficient.html#packaging.efficient.unpacking[executable JAR unpacking support] -which is designed to fulfill the class loading requirements of both AOT cache and CDS. +which is designed to fulfill the class loading requirements of both the AOT cache and CDS. == Creating the cache @@ -29,7 +30,7 @@ invoked; but the lifecycle has not started, and the `ContextRefreshedEvent` has been published. To create the cache during the training run, it is possible to specify the `-Dspring.context.exit=onRefresh` -JVM flag to start then exit your Spring application once the +JVM flag to start and then exit your Spring application once the `ApplicationContext` has refreshed: @@ -82,7 +83,7 @@ java -XX:SharedArchiveFile=app.jsa ... Pay attention to the logs and the startup time to check if the AOT cache is used successfully. To figure out how effective the cache is, you can enable class loading logs by adding -an extra attribute: `-Xlog:class+load:file=aot-cache.log`. This creates a `aot-cache.log` with +an extra attribute: `-Xlog:class+load:file=aot-cache.log`. This creates an `aot-cache.log` with every attempt to load a class and its source. Classes that are loaded from the cache should have a "shared objects file" source, as shown in the following example: @@ -95,11 +96,11 @@ a "shared objects file" source, as shown in the following example: [0.151s][info][class,load] org.springframework.context.MessageSource source: shared objects file ---- -If the AOT cache can't be enabled or if you have a large number of classes that are not loaded from +If the AOT cache cannot be enabled or if you have a large number of classes that are not loaded from the cache, make sure that the following conditions are fulfilled when creating and using the cache: - The very same JVM must be used. - The classpath must be specified as a JAR or a list of JARs, and avoid the usage of directories and `*` wildcard characters. - The timestamps of the JARs must be preserved. - - When using the cache, the classpath must be the same than the one used to create it, in the same order. -Additional JARs or directories can be specified *at the end* (but won't be cached). + - When using the cache, the classpath must be the same as the one used to create it, in the same order. +Additional JARs or directories can be specified *at the end* (but will not be cached). diff --git a/framework-docs/modules/ROOT/pages/integration/appendix.adoc b/framework-docs/modules/ROOT/pages/integration/appendix.adoc index c00fd9a36b3..041eaa39da0 100644 --- a/framework-docs/modules/ROOT/pages/integration/appendix.adoc +++ b/framework-docs/modules/ROOT/pages/integration/appendix.adoc @@ -1,16 +1,11 @@ [[appendix]] = Appendix - - - [[appendix.xsd-schemas]] == XML Schemas This part of the appendix lists XML schemas related to integration technologies. - - [[appendix.xsd-schemas-jee]] === The `jee` Schema