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>
Previously, the `entityManagerFactoryBuilder` bean method injected a
`Map<String, AsyncTaskExecutor>` to determine the fallback executor used
for background JPA bootstrapping. A `Map` parameter is resolved eagerly,
so this forced early initialization of every `AsyncTaskExecutor` bean
whenever the builder was created, even when background bootstrapping was
not in use. When an `AsyncTaskExecutor` directly or transitively
depended on the `EntityManagerFactory`, this resulted in a
`BeanCurrentlyInCreationException`.
The fallback executor is now resolved lazily.
`EntityManagerFactoryBuilder` holds a `Supplier` that is only invoked
when background bootstrapping is actually required, and the executor is
then looked up from the `BeanFactory` rather than eagerly injected. A
new `Supplier`-based constructor is added for this purpose; the existing
constructor that accepts an `AsyncTaskExecutor` is retained and
delegates to it.
The same eager `Map<String, AsyncTaskExecutor>` injection, along with an
unused private method, is also removed from
`DataJpaRepositoriesAutoConfiguration`.
See gh-50801
Signed-off-by: Ns <397827222@qq.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>
Replace `URLDecoder.decode` with `StringUtils.uriDecode` to ensure
RFC 3986-compliant decoding. Unlike `URLDecoder`, URI decoding does
not treat `+` as a space and only decodes percent-encoded sequences.
See gh-50650
Signed-off-by: Dmytro Nosan <dimanosan@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