Tomcat's SSL configuration is applied to an `SSLHostConfig` for each
host name. When an SSL bundle was updated, a new `SSLHostConfig` was
created and used to replace the existing one for that host name,
discarding any customizations that had been applied to it (for example
by a `TomcatConnectorCustomizer`).
Reuse the existing `SSLHostConfig` for the host name when one is
present, applying the updated bundle to it rather than replacing it. The
existing `SSLHostConfigCertificate` is also reused, as adding a second
certificate with an undefined type to an `SSLHostConfig` is rejected by
Tomcat.
See gh-51290
Signed-off-by: Scott Frederick <scottyfred@gmail.com>
The javadoc promises an IllegalArgumentException, but the method asserts
with Assert.state, which throws an IllegalStateException.
See gh-51175
Signed-off-by: wantaek <wantaekchoi@gmail.com>
Track meter registries added to Metrics.globalRegistry and remove them
on context close.
Disable use of the global registry in tests by default to avoid pinning
cached test contexts.
See gh-50886
Signed-off-by: LordKay-sudo <lkandiro@gmail.com>
The manual metadata entry declares java.lang.Boolean while its
description and default value ("http://localhost") describe a URL
string, and MockMvcWebClientAutoConfiguration and
MockMvcWebDriverAutoConfiguration read the property as a string.
See gh-51110
Signed-off-by: wantaek <wantaekchoi@gmail.com>
This commit adapts @Nullable when calling Map#remove as it correctly
handles nullability.
See gh-50972
Signed-off-by: Manu Sridharan <msridhar@gmail.com>
This commit preserves the classpath-relative path for Flyway migration
discovered by the native image resource provider so nested migrations
remain readable.
See gh-50433
Signed-off-by: Dongliang Xie <dragonfsky@gmail.com>
Move the reactive Cloud Foundry health endpoint extension into a
health-specific configuration guarded by @ConditionalOnClass. When
spring-boot-health is absent, scanning the outer configuration attempts
to resolve ReactiveHealthEndpointWebExtension and causes context refresh
to fail.
See gh-50916
Signed-off-by: Lee JiWon <dlwldnjs1009@gmail.com>
Move the Jersey additional health endpoint paths registrar into a
health-specific configuration so Jersey management endpoint support can
refresh when spring-boot-health is absent.
See gh-50858
Signed-off-by: Lee JiWon <dlwldnjs1009@gmail.com>
Move the Cloud Foundry health endpoint extension bean into a
health-specific configuration. This lets the actuator configuration
refresh when spring-boot-health is absent.
See gh-50857
Signed-off-by: Lee JiWon <dlwldnjs1009@gmail.com>
The MongoDB health indicators ran the `hello` command against every
database returned by `listDatabaseNames()`. For the reactive
indicator these commands were issued in parallel via `flatMap`, so a
deployment with many databases per connection could open a connection
per database on each health check, dramatically increasing connection
usage (a regression from the Spring Data based implementation used
previously).
Since `hello` is a server-level command whose result is independent
of the target database, run it only once, against the `admin`
database if available or the first returned database otherwise. The
`databases` and `maxWireVersion` details are preserved.
See gh-50734
Signed-off-by: seonwoo_jung <79202163+seonwooj0810@users.noreply.github.com>
Apply the same fix as 72eaeecd5c to the WebClient sibling so that a
WebClientHttpServiceGroupConfigurer can be ordered ahead of the
properties configurer to supply an initial WebClient.Builder.
Signed-off-by: Lee JiWon <dlwldnjs1009@gmail.com>
See gh-50737
The session cookie's Partitioned attribute was set to "" for any
non-null value, so an explicit `partitioned=false` was rendered the
same as `true`. PropertyMapper.to() only filters null, so
Boolean.FALSE reached the consumer and the attribute was always set.
Use whenTrue() so the attribute is set only when partitioned is true,
leaving false and unset to fall through to the container default.
Closes gh-50781
Signed-off-by: Lee JiWon <dlwldnjs1009@gmail.com>
The RSocket WebSocket transport's HttpServerSslCustomizer kept its own
copy of the SNI provider lookup that returned null for server names
without a mapped SSL bundle. This commit adapts the copy to fall back
to the default provider, as it is done in gh-50301.
See gh-50640
Signed-off-by: Lee JiWon <dlwldnjs1009@gmail.com>
Prior to this commit, securityDelegateMockMvcHtmlUnitDriverCustomizer
did not have an @Bean annotation and therefore
was not registered as a bean in SecurityMockMvcAutoConfiguration.
See gh-50602
Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
The change in gh-50447 added gson on the runtime classpath, which broke
a test that looks for "any" JSON support, but only filtered Jackson and
Jackson 2.
This commit adds an explicit optional dependency to gson and adapt the
test accordingly.
See gh-50447