Previously, when Actuator expected to find multiple beans of the same
type, it used Map<String, Type> to inject them. Unfortunately, this
does not include beans that are not default candidates and there's
no way to request that autowiring includes such beans with Map-based
injection.
This commit switches from Map-based injection to querying the bean
factory for the desired beans. This is done using
SimpleAutowireCandidateResolver's new helper method,
resolveAutowireCandidates, that returns a Map<String, Type> of
beans including those that are not default candidates but excluding
those that are not autowire candidates.
Closes gh-43481
Text blocks use \n as their separator on all platforms. Update
withLineSeparatorUsesLineSeparator() to replace \n rather than
System.lineSeparator()
createPrinterWhenStandardAppliesCustomizations() limits the length of
the output. On Windows, the default \r\n line separator uses an
extra byte per separator compared to \n. Configure the printer to use
\n as a line separator so that non-whitespace output is the same on
all platforms.
See gh-43864
Introduce a new `StackTracePrinter` interface (and a standard
implementation) that can be used to print stack traces in a custom
form. The existing `StructuredLoggingJsonProperties` have been updated
with a nested `StackTrace` record that supports common customization
options or allows a custom `StackTracePrinter` to be used.
Closes gh-43864
Prior to this commit, the Micrometer instrumentation support would
auto-configure a `ServerHttpObservationFilter` for creating observations
in Spring MVC applications.
As of Spring Framework 6.2, applications can extend this filter class to
get notified of the observation scope being opened.
This commit contributes a new `TraceHeaderObservationFilter`
implementation that writes the current Trace Id (if present) to the
`X-Trace-Id` HTTP response header.
This feature is disabled by default, applications will need to enable
`management.observations.http.server.requests.write-trace-header`.
`
Closes gh-40857