Provide a workaround for spring-projects/spring-framework#29361 so
that multiple `@ImportRuntimeHints` can be used in a type hierarchy.
The commit should cover Actuator web endpoint use cases with the
exception of Cloud Foundry endpoints which are not possible due to
package access issues.
See gh-29361
Relocate `ConfigurationPropertiesReflectionHintsProcessor` and refactor
it to be a general purpose `BindableRuntimeHintsRegistrar`.
Prior to this commit, `ConfigurationPropertiesReflectionHintsProcessor`
was used to declare binding hints for classes that were bound, but
might be `@ConfigurationProperties`. By moving and renaming the class,
it's now better aligned to the way it's used.
Support for `@NestedConfigurationProperties` has been implemented by
adding a `@Nestable` meta-annotation. This allow us to create the
appropriate hints, without the `Binder` needing to be directly aware of
the `@NestedConfigurationProperties` annotation.
Closes gh-32815
Update `ConfigurationMetadataAnnotationProcessor` to use the correct
location for the `@ConstructorBinding` annotation and to deal with
finding it as a meta-annotation.
Closes gh-32660
Rename the SomeProperties class so that it is consistent with other
examples given within the Type-safe Configuration Properties. This
ensures that readers can intuitively draw the conclusion that the
MyProperties class is annotated with ConfigurationProperties.
See gh-32644
Prior to this commit, Spring Boot would offer a specific Metrics
instrumentation for WebFlux applications through a `WebFilter` and
custom Tag providers.
As of Spring Framework 6.0, the Observation instrumentation is done
directly in WebFlux, also with a `WebFilter`. While this allows both
metrics and traces, some features cannot be supported in the same way
with this new infrastructure.
The former `WebFilter` has been removed and the Tagging infrastructure
deprecated in favor of custom Observation conventions. This commit
provides an adapter layer so that developers can refactor their custom
tagging solution to the convention way, during the deprecation phase,
without losing any feature.
Closes gh-32539
Update reference documentation with a new "native image" section.
This commit includes some work derived from the "Spring Native"
project documentation written by Andy Clement, Sébastien Deleuze,
Filip Hanik, Dave Syer, Esteban Ginez, Jay Bryant, Brian Clozel,
Stéphane Nicoll, and Josh Long.
Closes gh-32582
Co-authored-by: Moritz Halbritter <mkammerer@vmware.com>
This commit migrates the existing metrics support (added in #29140) to
the new `Observation` instrumentation contributed in
spring-projects/spring-graphql#501.
We cannot have a smoother migration path here as the instrumentation
does not use the same context information for metadata extraction.
Closes gh-32794
Spring Security now re-applies the authorization rules
to the error page by default. Additionally, it configures
RequestAttributeSecurityContextRepository as the default for
stateless applications allowing those applications to have access
to the original authentication during an error dispatch.
Closes gh-31703