Commit Graph
1185 Commits
Author SHA1 Message Date
Stéphane Nicoll e3e01fe9d5 Polish "Add self-reference to ApplicationContextAssertProvider"
See gh-50500
2026-07-15 12:05:39 +02:00
Stefano Cordio cb9b32bd22 Add self-reference to ApplicationContextAssertProvider
See gh-50500

Signed-off-by: Stefano Cordio <stefano.cordio@gmail.com>
2026-07-15 12:05:23 +02:00
Stéphane Nicoll 10fdd20606 Polish contribution
This commit applies the same rules to ConfigurationPropertiesSource.

See gh-50367
2026-07-15 11:37:31 +02:00
Venkata Naga Sai Srikanth Gollapudi 87c4755a86 Harmonize use of Collections and Maps in configuration properties
See gh-50367

Signed-off-by: Venkata Naga Sai Srikanth Gollapudi <42247688+gollapudisrikanth@users.noreply.github.com>
2026-07-15 11:37:31 +02:00
Stéphane Nicoll 9eb03d13fb Configure virtual threads on RedisMessageListenerContainer
Closes gh-50884
2026-07-15 09:45:44 +02:00
Stéphane Nicoll d4d20787c1 Polish "Lazily resolve JPA fallback bootstrap executor"
See gh-50801
2026-07-14 17:45:54 +02:00
Ns 8c519369ec Lazily resolve JPA fallback bootstrap executor
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>
2026-07-14 17:11:14 +02:00
Stéphane Nicoll 6c160f17d9 Merge branch '4.0.x'
Closes gh-50944
2026-07-14 15:38:56 +02:00
Stéphane Nicoll bbacbc6291 Do not require WebClient.Builder in CloudFoundry auto-configuration
Closes gh-50928
2026-07-14 15:37:40 +02:00
Stéphane Nicoll 02b3242057 Merge branch '4.0.x'
Closes gh-50943
2026-07-14 11:38:01 +02:00
Yanming Zhou 7522f679fd Inject Customizers as ObjectProvider to keep consistency
See gh-50909

Signed-off-by: Yanming Zhou <zhouyanming@gmail.com>
2026-07-14 11:23:34 +02:00
Stéphane Nicoll 666d7d042d Merge branch '4.0.x'
Closes gh-50942
2026-07-14 11:12:24 +02:00
Stéphane Nicoll a0c8fa445b Polish "Guard reactive Cloud Foundry health extension"
See gh-50916
2026-07-14 11:09:17 +02:00
Lee JiWon bda889997d Guard reactive Cloud Foundry health extension
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>
2026-07-14 08:37:44 +02:00
Stéphane Nicoll dc23ca59a5 Merge branch '4.0.x'
Closes gh-50914
2026-07-03 12:33:45 +02:00
Stéphane Nicoll a57da0c57a Polish "Apply GraphQL customizers in order"
See gh-50908
2026-07-03 12:32:28 +02:00
Yanming Zhou f96808edfa Apply GraphQL customizers in order
See gh-50908

Signed-off-by: Yanming Zhou <zhouyanming@gmail.com>
2026-07-03 12:17:18 +02:00
Stéphane Nicoll e44b486a00 Merge branch '4.0.x' 2026-06-30 10:10:35 +02:00
Stéphane Nicoll 22eef97293 Add missing or outdated copyright headers
See gh-50894
2026-06-30 10:04:39 +02:00
Andy Wilkinson 1d693b1bc4 Merge branch '4.0.x'
Closes gh-50885
2026-06-29 11:11:18 +01:00
Andy Wilkinson 81aa1367f5 Polish "Remove unnecessary @Nullables from local array variable declarations"
See gh-50881

Signed-off-by: Andy Wilkinson <andy.wilkinson@broadcom.com>
2026-06-29 10:29:10 +01:00
Andy Wilkinson c5261cf0eb Merge branch '4.0.x'
Closes gh-50878
2026-06-28 12:14:56 +01:00
Yanming Zhou dff33aec55 Remove unnecessary @Nullables from local variable declarations
See gh-50866

Signed-off-by: Yanming Zhou <zhouyanming@gmail.com>
2026-06-28 10:39:07 +01:00
Andy Wilkinson bcaa961c1f Merge branch '4.0.x'
Closes gh-50874
2026-06-27 13:28:06 +01:00
Dmytro Nosan 43985f1356 Update OpenTelemetryResourceAttributes documentation
Clarify service.name and service.namespace defaults and remove
obsolete service.group documentation

See gh-50867

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2026-06-27 13:27:35 +01:00
Andy Wilkinson 4c2b5942e3 Merge branch '4.0.x'
Closes gh-50872
2026-06-27 12:55:30 +01:00
Lee JiWon 9cfa980a4d Avoid loading health classes in Jersey config
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>
2026-06-27 12:53:18 +01:00
Andy Wilkinson 94c455b27a Merge branch '4.0.x'
Closes gh-50871
2026-06-27 12:51:56 +01:00
Lee JiWon 48054ea77b Avoid loading health classes in Cloud Foundry
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>
2026-06-27 12:48:47 +01:00
Dmytro Nosan 16445de3ab Align W3CHeaderParser decoding with RFC 3986
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>
2026-06-24 20:15:18 +01:00
Andy Wilkinson 1c1be40372 Merge branch '4.0.x'
Closes gh-50852
2026-06-24 19:43:09 +01:00
seonwoo_jung 019ea06a6a Run a single hello command in MongoDB health indicators
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>
2026-06-24 19:31:03 +01:00
Andy Wilkinson 7a45ee8767 Merge branch '4.0.x'
Closes gh-50851
2026-06-24 19:12:35 +01:00
Yanming Zhou 9d5c98b7e9 Replace isAssignableFrom() with isInstance() where feasible
Signed-off-by: Yanming Zhou <zhouyanming@gmail.com>

See gh-50750
2026-06-24 19:11:59 +01:00
Andy Wilkinson 185b446005 Merge branch '4.0.x'
Closes gh-50849
2026-06-24 17:54:30 +01:00
Andy Wilkinson a49549203b Polish "Treat empty JWK Set URI as absent"
See gh-50755

Signed-off-by: Andy Wilkinson <andy.wilkinson@broadcom.com>
2026-06-24 17:48:11 +01:00
Vinod Kumar 8eb3b032a4 Treat empty JWK Set URI as absent
Signed-off-by: Vinod Kumar <codingkiddo@gmail.com>

See gh-50755
2026-06-24 17:34:15 +01:00
Doehyun Baek f7c2c0b2a6 Align documentation with changes made during 4.1's development
Signed-off-by: Doehyun Baek <doehyunbaek@gmail.com>

See gh-50800
2026-06-24 15:44:05 +01:00
Andy Wilkinson 6719b46793 Merge branch '4.0.x'
Closes gh-50843
2026-06-24 12:17:35 +01:00
Lee JiWon 28b995ad98 Allow other configurers to run before PropertiesWebClientHttpServiceGroupConfigurer
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
2026-06-24 12:15:19 +01:00
Moritz Halbritter e16c5d0141 Merge branch '4.0.x'
Closes gh-50807
2026-06-22 09:04:17 +02:00
yamamoto-ehhMH 57dec87e28 Fix typo in DataSourceBuilderTests
See gh-50804

Signed-off-by: yamamoto-ehhMH <yamamoto@reskill.jp>
2026-06-22 08:56:58 +02:00
Brian Clozel f71e797761 Merge branch '4.0.x'
Closes gh-50790
2026-06-18 17:01:29 +02:00
Lee JiWon 4b542efc0c Only set Partitioned cookie attribute when true
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>
2026-06-18 16:52:55 +02:00
Andy Wilkinson a7f5c796c9 Stop auto-config of SpringReactiveOpaqueTokenIntrospector w/o WebFlux
SpringReactiveOpaqueTokenIntrospector uses WebClient in its
implementation so the auto-configuration of it must back off when
spring-webflux is not on the classpath. Failing to do so results in
a ClassNotFoundException for WebFlux's BodyInserters if the
auto-configuration's other conditions are met.

Fixes gh-50764
2026-06-13 21:26:02 +01:00
Andy Wilkinson 198af995dc Merge branch '4.0.x'
Closes gh-50747
2026-06-10 15:53:25 +01:00
Andy Wilkinson bb247bb42f Merge branch '3.5.x' into 4.0.x
Closes gh-50746
2026-06-10 15:53:08 +01:00
Andy Wilkinson adcfbf7829 Merge branch '4.0.x'
Closes gh-50745
2026-06-10 15:49:38 +01:00
Andy Wilkinson 339ce3db43 Merge branch '3.5.x' into 4.0.x
Closes gh-50744
2026-06-10 15:46:51 +01:00
leestana01 af2f956c7d Embedded LDAP SSL should not be enabled when its bundle is empty
See gh-50700

Signed-off-by: leestana01 <leestana01@naver.com>
2026-06-09 16:07:40 +02:00