Commit Graph

26926 Commits

Author SHA1 Message Date
Moritz Halbritter
85b1c55bb8 Polish 2024-10-25 13:40:21 +02:00
Phillip Webb
36a22fcd59 Unify HTTP client redirect behavior and provide configuration option
Update `ClientHttpRequestFactoryBuilder` implementations to ensure
that all libraries have consistent redirect follow behavior. Following
of redirects is enabled by default.

The `ClientHttpRequestFactorySettings` may be used to change if
redirects should be followed. The `spring.http.client.redirects`
property may also be used to update the default behavior.

Closes gh-42879
2024-10-25 02:45:36 -07:00
Phillip Webb
a92001130f Deprecate ClientHttpRequestFactories
Deprecate `ClientHttpRequestFactories` and refactor its internals to
delegate to the new `ClientHttpRequestFactoryBuilder` interface.

Closes gh-36266
2024-10-25 02:45:35 -07:00
Phillip Webb
3a8b2e4bc8 Add HttpClientAutoConfiguration and use it wherever possible
Add a new `HttpClientAutoConfiguration` class that provides
`ClientHttpRequestFactoryBuilder` and `ClientHttpRequestFactorySettings`
beans and new configuration properties.

The existing `RestTemplate`, `RestClient` and `WebServiceTemplate`
auto-configurations have been updated to make use of the new
HTTP client support.

Users may now set `spring.http.client` property to globally change
the `ClientHttpRequestFactory` used in their application.

Closes gh-36266
2024-10-25 02:45:35 -07:00
Phillip Webb
6356e904fc Update web services support to use ClientHttpRequestFactoryBuilder
Add a new `WebServiceMessageSenderFactory` factory interface to replace
`HttpWebServiceMessageSenderBuilder`. The factory provides a general
purpose way of creating `WebServiceMessageSender` instances, but most
typically will be `ClientHttpRequestMessageSender` created from a
`ClientHttpRequestFactoryBuilder`.

A new `httpMessageSenderFactory` method has been added to the
`WebServiceTemplateBuilder` class. This allows any sender to be
plugged into the template.

Closes gh-42886
2024-10-25 02:45:35 -07:00
Phillip Webb
022f3cb019 Add requestFactorySettings method to RestTemplateBuilder
Add a `requestFactorySettings` method to `RestTemplateBuilder` to make
it easier to apply an existing `ClientHttpRequestFactorySettings`
instance.

Closes gh-42885
2024-10-25 02:45:35 -07:00
Phillip Webb
367912707a Update RestTemplateBuilder to use ClientHttpRequestFactoryBuilder
Refactor the internals of `RestTemplateBuilder` so that the new
`ClientHttpRequestFactoryBuilder` is used to create
`ClientHttpRequestFactory` instance.

See gh-36266
2024-10-25 02:45:35 -07:00
Phillip Webb
78458afa17 Introduce ClientHttpRequestFactoryBuilder support
Add a new `ClientHttpRequestFactoryBuilder` interface to support the
creation of `ClientHttpRequestFactory` instances. The new code will
ultimately replace the existing `ClientHttpRequestFactories` class.

The `ClientHttpRequestFactoryBuilder` is a functional interface with
additional static factory methods for the various supported
`ClientHttpRequestFactory` types. Each type has it's own builder
which should allow us to support additional customization in the future.

Unlike `ClientHttpRequestFactories`, the builder aligns with Spring
Framework defaults and will detect the `JdkClientHttpRequestFactory`
in preference of `SimpleClientHttpRequestFactory`.

This commit also relocates `ClientHttpRequestFactorySettings` to bring
it into the new `http.client` package.

See gh-36266
2024-10-25 02:45:35 -07:00
Phillip Webb
0a4ac283d0 Rename RestTemplateBuilder 'set' methods
Rename `RestTemplateBuilder` methods for consistency:

* `setConnectTimeout` -> `connectTimeout`
* `setReadTimeout` -> `readTimeout`
* `setSslBundle` -> `sslBundle`

Closes gh-42884
2024-10-25 02:45:35 -07:00
Phillip Webb
8feba568da Polish 2024-10-25 02:45:35 -07:00
Dmytro Nosan
5be0049ed9 Add a test to verify that ReflectionHint for Hazelcast ClientConfig is present
See gh-42874
2024-10-25 08:44:26 +02:00
Moritz Halbritter
6fce6ffde7 Merge branch '3.3.x'
Closes gh-42882
2024-10-25 08:43:20 +02:00
Moritz Halbritter
8556001b4e Merge branch '3.2.x' into 3.3.x
Closes gh-42881
2024-10-25 08:42:58 +02:00
Johnny Lim
a1b4033d10 Move default value descriptions to description field
See gh-42848
2024-10-25 08:35:23 +02:00
Andy Wilkinson
924c807182 Merge branch '3.3.x'
Closes gh-42869
2024-10-24 09:28:51 +01:00
Andy Wilkinson
2bf3e5ab20 Document that embedded Tomcat must be 10.1.25 or later
Closes gh-42849
2024-10-24 09:28:18 +01:00
Andy Wilkinson
9df9d89b69 Upgrade to Spring Integration 6.4.0-RC1
Closes gh-42563
2024-10-24 09:23:14 +01:00
Andy Wilkinson
8c06886409 Upgrade to Spring Batch 5.2.0-RC1
Closes gh-42560
2024-10-24 09:23:13 +01:00
Andy Wilkinson
4fa254d745 Upgrade to Byte Buddy 1.15.7
Closes gh-42867
2024-10-24 09:23:13 +01:00
Andy Wilkinson
13e75dce1b Upgrade to Spring Integration 6.3.5
Closes gh-42549
2024-10-24 09:13:50 +01:00
Phillip Webb
005ea96307 Revert "Add spring-aop to work around Spring Framework mock detection issue"
This reverts commit 2a64cf6fb1.

Closes gh-42855
2024-10-23 12:36:36 -07:00
Andy Wilkinson
3b330ae09a Shut down management server once main server's shut down
Closes gh-41002
2024-10-23 12:08:03 -07:00
Phillip Webb
2a64cf6fb1 Add spring-aop to work around Spring Framework mock detection issue 2024-10-23 11:13:28 -07:00
Phillip Webb
0305d1e9d5 Adapt to upstream Spring Framework @MockitoBean changes 2024-10-23 11:11:55 -07:00
Phillip Webb
47fa83cafc Merge branch '3.3.x' 2024-10-23 10:14:59 -07:00
Phillip Webb
fc1ed0b340 Increase timeout in ZipkinWebClientSenderTests 2024-10-23 10:14:32 -07:00
Stéphane Nicoll
27e8f14c31 Polish "Add container support for ClickHouse"
See gh-42837
2024-10-23 18:15:43 +02:00
Eddú Meléndez
d9dfb0389e Add container support for ClickHouse
See gh-42837
2024-10-23 13:54:58 +02:00
Stéphane Nicoll
c6619dd306 Upgrade to Testcontainers 1.20.3
Closes gh-42847
2024-10-23 09:02:32 +02:00
Stéphane Nicoll
92a98d667c Upgrade to SQLite JDBC 3.47.0.0
Closes gh-42846
2024-10-23 09:02:32 +02:00
Moritz Halbritter
5e5f41b7a6 Merge branch '3.3.x'
Closes gh-42845
2024-10-23 08:27:51 +02:00
Moritz Halbritter
9cced069a0 Delete argfile on JVM exit
Closes gh-42841
2024-10-23 08:27:31 +02:00
Stéphane Nicoll
1ade0b1250 Upgrade to Spring GraphQL 1.3.3
Closes gh-42844
2024-10-23 08:04:33 +02:00
Stéphane Nicoll
8a10ad1647 Upgrade to Spring Authorization Server 1.4.0-RC1
Closes gh-42559
2024-10-23 08:04:29 +02:00
Stéphane Nicoll
2f920cfe86 Upgrade to HttpCore5 5.3.1
Closes gh-42843
2024-10-23 08:04:29 +02:00
Stéphane Nicoll
c07c0c981c Upgrade to GraphQL Java 22.3
Closes gh-42842
2024-10-23 08:04:24 +02:00
Stéphane Nicoll
8bf1a2db76 Upgrade to Spring GraphQL 1.3.3
Closes gh-42742
2024-10-23 08:03:30 +02:00
Stéphane Nicoll
9668ecd241 Upgrade to Spring Authorization Server 1.3.3
Closes gh-42546
2024-10-23 08:03:30 +02:00
Stéphane Nicoll
38d534807a Upgrade to Spring Integration 6.2.10
Closes gh-42537
2024-10-23 08:03:24 +02:00
Stéphane Nicoll
78d0e48b7b Upgrade to Spring GraphQL 1.2.9
Closes gh-42740
2024-10-23 08:03:24 +02:00
Stéphane Nicoll
f8c9fe428b Upgrade to Spring Authorization Server 1.2.7
Closes gh-42534
2024-10-23 08:03:23 +02:00
Phillip Webb
e6b840004d Support ResourceLoader delegation from ApplicationResourceLoader
Update `ApplicationResourceLoader` to support delegation to another
`ResourceLoader`. The update allows customer resource loaders to be
used when loading SSL resources.

Closes gh-42835
2024-10-22 22:07:42 -07:00
Phillip Webb
65fcf34773 Merge branch '3.3.x'
Closes gh-42840
2024-10-22 19:23:43 -07:00
Phillip Webb
dcbf0096d8 Use context class loader when watching SSL resource
Update `BundleContentProperty` to use a provided resource loader when
watching files.

Fixes gh-42468
2024-10-22 19:22:33 -07:00
Phillip Webb
0a1c65f8d4 Fix test compile error introduced during merge
See gh-42839
2024-10-22 18:52:14 -07:00
Phillip Webb
fdf7ca9093 Merge branch '3.3.x'
Closes gh-42839
2024-10-22 18:45:19 -07:00
Phillip Webb
499672184c Use context class loader when loading auto-configured SSL bundles
Update `SslAutoConfiguration` to the `ApplicationContext` class loader
when loading SSL resources. Prior to this commit, the thread context
class loader was used to load resources which could be incorrect.
Specifically, when using a `ForkJoinPool` the thread context classloader
defaults to the JRE `AppClassLoader` which does not include uber jar
content.

The underlying `JksSslStoreBundle` class and `PemSslStore.load(...)`
method have been updated so support using a provided `ResourceLoader`.

Fixes gh-42468
2024-10-22 18:43:57 -07:00
Phillip Webb
61fbb12499 Polish 2024-10-22 16:05:51 -07:00
Andy Wilkinson
e26c6d6403 Recommend using defaultCandidate=false on qualified beans
Closes gh-42831
2024-10-22 17:49:23 +01:00
Andy Wilkinson
ea4b53d6ae Add auto-configuration for an indexed reactive session repository
Closes gh-42604
2024-10-22 13:40:53 +01:00