Spring Integration has introduced a new observationPatterns attribute
on EnableIntegrationManagement. Spring Boot auto-configures
EnableIntegrationManagement so this commit adds a property that
allows users to configure the patterns without declaring the
annotation themselves.
See gh-33099
Prior to this change, when using spring-boot-starter-logging, JBoss
Logging would route like this:
JBoss Logging -> Log4j2 API -> SLF4J -> Logback
This is inefficient as there's no need for it to go via the Log4j2
API.
This commit updates the Logback logging system to configure a system
property that controls JBoss's routing. With this change in place,
JBoss Logging will route like this:
JBoss Logging -> SLF4J -> Logback
Closes gh-33155
Returning a private class from a package-private method causes the
AOT-generated source files to fail to compile as the private class is
not visible.
Closes gh-33106
Update `@Autowired` detection logic to consider all constructors and to
search user classes.
Fixes gh-33061
Co-authored-by: Phillip Webb <pwebb@vmware.com>
Update `MeterRegistryPostProcessor` to configure `MeterRegistry` beans
in two distinct sweeps. The first sweep applies customizers and filters
as the `MeterRegistry` bean is initialized, the second sweep applies
`MeterBinder` beans once all singletons have been instantiated.
Prior to this commit, it was not possible for a `MeterBinder` bean to
directly or indirectly use a `MeterRegistry`. It was also possible for
bound meters to cause a deadlock during refresh processing if those
meters could be updated on a thread other than main, such as GC
notifications.
Fixes gh-30636
Fixes gh-33070
Update types returned from endpoints to implement the
`OperationResponseBody` interface. This ensures that they will be
serialized using the isolated actuator `ObjectMapper`.
See gh-20291
Add `OperationResponseBody` tagging interface that can be used
to trigger the use of an isolated ObjectMapper specifically for
actuator responses.
The isolated mapper is provided by an `EndpointObjectMapper`
bean which is auto-configured unless specifically disabled
by the user.
WebMVC, WebFlux and Jersey integrations have been updated
to provide a link between the `OperationResponseBody` type
and the endpoint `ObjectMapper`.
See gh-20291