This annotation is read by ObservabilityContextCustomizerFactory, which
then sets test properties depending on the annotation attributes.
@AutoConfigureMetrics is deprecated, to support backwards compatability
it's now meta-annotated with @AutoConfigureObservability
See gh-31308
There's no setter for the max header size in Tomcat 10 as it's now
inherited from the underlying HTTP 1.1 protocol. The test that
was merged forwards from 2.7.x is retained to verify that this is
the case.
See gh-31330
Refactor child management configuration and add AOT generation support.
A new `ChildManagementContextInitializer` class now performs the child
context initialization and also handles AOT processing concerns.
Closes gh-31163
Add `AbstractApplicationContextRunner.prepare` which can be used to
test an `ApplicationContext` that has been prepared but not refreshed.
Closes gh-31302
Previously, classes were registered first which meant that their
conditions were evaluated before any initializers and bean
registrations were applied. This prevented the bean registrations and
initializers from affecting the outcome of the condition evaluation.
This commit inverts the ordering so that classes are not registerd,
and therefore their conditions are not evaluated, until after the
bean registrations and initializers have been applied.
Closes gh-31280
This commit introduces a dedicated AotProcessors for immutable
configuration properties beans as their bean definition use an
instance supplier that needs special handling. If such a bean definition
is detected, dedicated code is generated that replicates the behavior
of the instance supplier.
Closes gh-31247
Prior to this commit, the `@ConfigurationProperties` annotation would
not be registered for reflection hints: this means it could be missing
at runtime in a native image and would not be registered for JDK
proxying - this can fail the synthesized annotation resolution.
This commit ensures that hints are registered for this annotation if
configuration properties are declared in the bean factory.
Fixes gh-31227
The spring-ldap-ldif-batch module was removed in Spring LDAP 2.4.0 in
favor of the equivalent code that already exists in Spring Batch.
This commit aligns Boot's dependency management with this removal.
Closes gh-31254
This commit updates the codebase so that AOT-generated code can run on
the JVM in an opt-in fashion alongside the existing support of native
images.
When optimizations have been generated, setting the "spring.aot.enabled"
spring property (JVM or spring.properties) allows to opt-in for that
behavior on the JVM.
Closes gh-31244
This commit adapts how the BasePackages bean is registered so that
AOT processing works with it out-of-the-box. Previously we were using
an instance supplier with the accumulated base packages. This commit
changes that to set a constructor argument values.
Closes gh-31223
This commit makes sure that processing of the main method upon
completion of SpringApplication#run. Previously, any instructions in
the user's main method were invoked, which is not suitable to build-time
processing.
Closes gh-31219