Skip to content

Commit 48ed394

Browse files
committed
Remove settings suffix from http client properties
Remove `spring.http.client` deprecation and change `spring.http.reactiveclient.settings` to `spring.http.reactiveclient`. Closes gh-45507
1 parent 2923e66 commit 48ed394

File tree

9 files changed

+25
-102
lines changed

9 files changed

+25
-102
lines changed

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/http/client/HttpClientAutoConfiguration.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,16 +45,15 @@
4545
@AutoConfiguration(after = SslAutoConfiguration.class)
4646
@ConditionalOnClass(ClientHttpRequestFactory.class)
4747
@Conditional(NotReactiveWebApplicationCondition.class)
48-
@EnableConfigurationProperties({ HttpClientSettingsProperties.class, HttpClientProperties.class })
48+
@EnableConfigurationProperties(HttpClientProperties.class)
4949
public class HttpClientAutoConfiguration implements BeanClassLoaderAware {
5050

5151
private final ClientHttpRequestFactories factories;
5252

5353
private ClassLoader beanClassLoader;
5454

55-
HttpClientAutoConfiguration(ObjectProvider<SslBundles> sslBundles, HttpClientSettingsProperties properties,
56-
HttpClientProperties deprecatedProperties) {
57-
this.factories = new ClientHttpRequestFactories(sslBundles, properties, deprecatedProperties);
55+
HttpClientAutoConfiguration(ObjectProvider<SslBundles> sslBundles, HttpClientProperties properties) {
56+
this.factories = new ClientHttpRequestFactories(sslBundles, properties);
5857
}
5958

6059
@Override

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/http/client/HttpClientProperties.java

Lines changed: 0 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,8 @@
1616

1717
package org.springframework.boot.autoconfigure.http.client;
1818

19-
import java.time.Duration;
20-
2119
import org.springframework.boot.context.properties.ConfigurationProperties;
22-
import org.springframework.boot.context.properties.DeprecatedConfigurationProperty;
2320
import org.springframework.boot.http.client.ClientHttpRequestFactorySettings;
24-
import org.springframework.boot.http.client.HttpRedirects;
2521

2622
/**
2723
* {@link ConfigurationProperties @ConfigurationProperties} for a Spring's blocking HTTP
@@ -30,41 +26,8 @@
3026
* @author Phillip Webb
3127
* @since 3.4.0
3228
* @see ClientHttpRequestFactorySettings
33-
* @deprecated since 3.5.0 for removal in 4.0.0 in favor of
34-
* {@link HttpClientSettingsProperties}
3529
*/
3630
@ConfigurationProperties("spring.http.client")
37-
@Deprecated(since = "3.5.0", forRemoval = true)
3831
public class HttpClientProperties extends AbstractHttpRequestFactoryProperties {
3932

40-
@Override
41-
@DeprecatedConfigurationProperty(since = "3.5.0", replacement = "spring.http.client.settings.factory")
42-
public Factory getFactory() {
43-
return super.getFactory();
44-
}
45-
46-
@Override
47-
@DeprecatedConfigurationProperty(since = "3.5.0", replacement = "spring.http.client.settings.redirects")
48-
public HttpRedirects getRedirects() {
49-
return super.getRedirects();
50-
}
51-
52-
@Override
53-
@DeprecatedConfigurationProperty(since = "3.5.0", replacement = "spring.http.client.settings.connect-timeout")
54-
public Duration getConnectTimeout() {
55-
return super.getConnectTimeout();
56-
}
57-
58-
@Override
59-
@DeprecatedConfigurationProperty(since = "3.5.0", replacement = "spring.http.client.settings.read-timeout")
60-
public Duration getReadTimeout() {
61-
return super.getReadTimeout();
62-
}
63-
64-
@Override
65-
@DeprecatedConfigurationProperty(since = "3.5.0", replacement = "spring.http.client.settings.ssl")
66-
public Ssl getSsl() {
67-
return super.getSsl();
68-
}
69-
7033
}

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/http/client/HttpClientSettingsProperties.java

Lines changed: 0 additions & 33 deletions
This file was deleted.

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/http/client/reactive/ClientHttpConnectorAutoConfiguration.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,15 +48,15 @@
4848
*/
4949
@AutoConfiguration(after = SslAutoConfiguration.class)
5050
@ConditionalOnClass({ ClientHttpConnector.class, Mono.class })
51-
@EnableConfigurationProperties(HttpReactiveClientSettingsProperties.class)
51+
@EnableConfigurationProperties(HttpReactiveClientProperties.class)
5252
public class ClientHttpConnectorAutoConfiguration implements BeanClassLoaderAware {
5353

5454
private final ClientHttpConnectors connectors;
5555

5656
private ClassLoader beanClassLoader;
5757

5858
ClientHttpConnectorAutoConfiguration(ObjectProvider<SslBundles> sslBundles,
59-
HttpReactiveClientSettingsProperties properties) {
59+
HttpReactiveClientProperties properties) {
6060
this.connectors = new ClientHttpConnectors(sslBundles, properties);
6161
}
6262

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
* @since 3.5.0
2828
* @see ClientHttpConnectorSettings
2929
*/
30-
@ConfigurationProperties("spring.http.reactiveclient.settings")
31-
public class HttpReactiveClientSettingsProperties extends AbstractClientHttpConnectorProperties {
30+
@ConfigurationProperties("spring.http.reactiveclient")
31+
public class HttpReactiveClientProperties extends AbstractClientHttpConnectorProperties {
3232

3333
}

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/http/client/HttpClientAutoConfigurationTests.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,8 @@ void configuresDefinedClientHttpRequestFactoryBuilder() {
6969
@Test
7070
void configuresClientHttpRequestFactorySettings() {
7171
this.contextRunner.withPropertyValues(sslPropertyValues().toArray(String[]::new))
72-
.withPropertyValues("spring.http.client.settings.redirects=dont-follow",
73-
"spring.http.client.settings.connect-timeout=10s", "spring.http.client.settings.read-timeout=20s",
74-
"spring.http.client.settings.ssl.bundle=test")
72+
.withPropertyValues("spring.http.client.redirects=dont-follow", "spring.http.client.connect-timeout=10s",
73+
"spring.http.client.read-timeout=20s", "spring.http.client.ssl.bundle=test")
7574
.run((context) -> {
7675
ClientHttpRequestFactorySettings settings = context.getBean(ClientHttpRequestFactorySettings.class);
7776
assertThat(settings.redirects()).isEqualTo(Redirects.DONT_FOLLOW);

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/http/client/reactive/ClientHttpConnectorAutoConfigurationTests.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -123,18 +123,17 @@ void configuresDetectedClientHttpConnectorBuilderBuilder() {
123123

124124
@Test
125125
void configuresDefinedClientHttpConnectorBuilder() {
126-
this.contextRunner.withPropertyValues("spring.http.reactiveclient.settings.connector=jetty")
126+
this.contextRunner.withPropertyValues("spring.http.reactiveclient.connector=jetty")
127127
.run((context) -> assertThat(context.getBean(ClientHttpConnectorBuilder.class))
128128
.isInstanceOf(JettyClientHttpConnectorBuilder.class));
129129
}
130130

131131
@Test
132132
void configuresClientHttpConnectorSettings() {
133133
this.contextRunner.withPropertyValues(sslPropertyValues().toArray(String[]::new))
134-
.withPropertyValues("spring.http.reactiveclient.settings.redirects=dont-follow",
135-
"spring.http.reactiveclient.settings.connect-timeout=10s",
136-
"spring.http.reactiveclient.settings.read-timeout=20s",
137-
"spring.http.reactiveclient.settings.ssl.bundle=test")
134+
.withPropertyValues("spring.http.reactiveclient.redirects=dont-follow",
135+
"spring.http.reactiveclient.connect-timeout=10s", "spring.http.reactiveclient.read-timeout=20s",
136+
"spring.http.reactiveclient.ssl.bundle=test")
138137
.run((context) -> {
139138
ClientHttpConnectorSettings settings = context.getBean(ClientHttpConnectorSettings.class);
140139
assertThat(settings.redirects()).isEqualTo(HttpRedirects.DONT_FOLLOW);
@@ -156,7 +155,7 @@ private List<String> sslPropertyValues() {
156155

157156
@Test
158157
void clientHttpConnectorBuilderCustomizersAreApplied() {
159-
this.contextRunner.withPropertyValues("spring.http.reactiveclient.settings.connector=jdk")
158+
this.contextRunner.withPropertyValues("spring.http.reactiveclient.connector=jdk")
160159
.withUserConfiguration(ClientHttpConnectorBuilderCustomizersConfiguration.class)
161160
.run((context) -> {
162161
ClientHttpConnector connector = context.getBean(ClientHttpConnectorBuilder.class).build();

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/http/client/reactive/HttpReactiveClientSettingsPropertiesTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
import static org.assertj.core.api.Assertions.assertThat;
2929

3030
/**
31-
* Tests for {@link HttpReactiveClientSettingsProperties}.
31+
* Tests for {@link HttpReactiveClientProperties}.
3232
*
3333
* @author Phillip Webb
3434
*/

spring-boot-project/spring-boot-docs/src/docs/antora/modules/reference/pages/io/rest-client.adoc

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -55,16 +55,15 @@ You can learn more about the {url-spring-framework-docs}/web/webflux-webclient/c
5555
[[io.rest-client.webclient.configuration]]
5656
=== Global HTTP Connector Configuration
5757

58-
If the auto-detected javadoc:org.springframework.http.client.reactive.ClientHttpConnector[] does not meet your needs, you can use the configprop:spring.http.reactiveclient.settings.connector[] property to pick a specific connector.
58+
If the auto-detected javadoc:org.springframework.http.client.reactive.ClientHttpConnector[] does not meet your needs, you can use the configprop:spring.http.reactiveclient.connector[] property to pick a specific connector.
5959
For example, if you have Reactor Netty on your classpath, but you prefer Jetty's javadoc:org.eclipse.jetty.client.HttpClient[] you can add the following:
6060

6161
[configprops,yaml]
6262
----
6363
spring:
6464
http:
6565
reactiveclient:
66-
settings:
67-
connector: jetty
66+
connector: jetty
6867
----
6968

7069
You can also set properties to change defaults that will be applied to all reactive connectors.
@@ -75,10 +74,9 @@ For example, you may want to change timeouts and if redirects are followed:
7574
spring:
7675
http:
7776
reactiveclient:
78-
settings:
79-
connect-timeout: 2s
80-
read-timeout: 1s
81-
redirects: dont-follow
77+
connect-timeout: 2s
78+
read-timeout: 1s
79+
redirects: dont-follow
8280
----
8381

8482
For more complex customizations, you can use javadoc:org.springframework.boot.autoconfigure.http.client.reactive.ClientHttpConnectorBuilderCustomizer[] or declare your own javadoc:org.springframework.boot.http.client.reactive.ClientHttpConnectorBuilder[] bean which will cause auto-configuration to back off.
@@ -248,16 +246,15 @@ If multiple clients are available on the classpath, and not global configuration
248246
[[io.rest-client.clienthttprequestfactory.configuration]]
249247
=== Global HTTP Client Configuration
250248

251-
If the auto-detected HTTP client does not meet your needs, you can use the configprop:spring.http.client.settings.factory[] property to pick a specific factory.
249+
If the auto-detected HTTP client does not meet your needs, you can use the configprop:spring.http.client.factory[] property to pick a specific factory.
252250
For example, if you have Apache HttpClient on your classpath, but you prefer Jetty's javadoc:org.eclipse.jetty.client.HttpClient[] you can add the following:
253251

254252
[configprops,yaml]
255253
----
256254
spring:
257255
http:
258256
client:
259-
settings:
260-
factory: jetty
257+
factory: jetty
261258
----
262259

263260
You can also set properties to change defaults that will be applied to all clients.
@@ -268,10 +265,9 @@ For example, you may want to change timeouts and if redirects are followed:
268265
spring:
269266
http:
270267
client:
271-
settings:
272-
connect-timeout: 2s
273-
read-timeout: 1s
274-
redirects: dont-follow
268+
connect-timeout: 2s
269+
read-timeout: 1s
270+
redirects: dont-follow
275271
----
276272

277273
For more complex customizations, you can use javadoc:org.springframework.boot.autoconfigure.http.client.ClientHttpRequestFactoryBuilderCustomizer[] or declare your own javadoc:org.springframework.boot.http.client.ClientHttpRequestFactoryBuilder[] bean which will cause auto-configuration to back off.

0 commit comments

Comments
 (0)