This commit updates H2ConsoleAutoConfiguration to consider non-default
data sources when logging connection URLs.
See gh-44293
Signed-off-by: Yanming Zhou <zhouyanming@gmail.com>
Previously only a servlet-based Jetty server would fail fast when
trying to use SNI with Jetty. A reactive Jetty server just ignored
the configuration. This commit aligns the behavior of the two by
making the reactive server fail fast as well.
Closes gh-44316
This commit adds the stop or destroy failure as a suppressed
exception if either ServletWebServerApplicationContext or
ReactiveWebServerApplicationContext refresh fails.
See gh-44310
Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
Prior to this commit, if ReactiveWebServerApplicationContext failed to
refresh, only WebServer.stop() was called.
This commit additionally invokes WebServer.destroy(), aligning
the behavior with ServletWebServerApplicationContext when a refresh
failure occurs.
See gh-44134
Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
Previously, default values for the following properties did not work:
- application.title
- application.formatted-version
- application.version
- spring-boot.formatted-version
- spring-boot.version
Instead of the default value, an empty string was used instead. For
example, ${application.title:Title} would be replaced with "" rather
than "Title" when the application title was unavailable.
This commit improves the ResourceBanner so that a placeholder's
default value is used. An empty string will still be used when no
default value is provided. For example, ${application.title} will
be replaced with "". As before, custom properties that are not
well-known will not be replaced at all. For example
${custom.property} will remain as-is in the printed banner when
the custom.property has not been set.
Fixes gh-44137
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