Remove `settings` suffix from http client properties
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run
Details
Build and Deploy Snapshot / Trigger Docs Build (push) Blocked by required conditions
Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[early-access:true toolchain:true version:24], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[early-access:true toolchain:true version:24], map[id:windows-latest name:Windows]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:windows-latest name:Windows]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:21], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:21], map[id:windows-latest name:Windows]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:22], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:22], map[id:windows-latest name:Windows]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:windows-latest name:Windows]) (push) Waiting to run
Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:false version:17]) (push) Waiting to run
Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:21]) (push) Waiting to run
Details
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run
Details
Build and Deploy Snapshot / Trigger Docs Build (push) Blocked by required conditions
Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[early-access:true toolchain:true version:24], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[early-access:true toolchain:true version:24], map[id:windows-latest name:Windows]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:windows-latest name:Windows]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:21], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:21], map[id:windows-latest name:Windows]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:22], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:22], map[id:windows-latest name:Windows]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:windows-latest name:Windows]) (push) Waiting to run
Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:false version:17]) (push) Waiting to run
Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:21]) (push) Waiting to run
Details
Remove `spring.http.client` deprecation and change `spring.http.reactiveclient.settings` to `spring.http.reactiveclient`. Closes gh-45507
This commit is contained in:
parent
2923e66143
commit
48ed394679
|
@ -45,16 +45,15 @@ import org.springframework.http.client.ClientHttpRequestFactory;
|
|||
@AutoConfiguration(after = SslAutoConfiguration.class)
|
||||
@ConditionalOnClass(ClientHttpRequestFactory.class)
|
||||
@Conditional(NotReactiveWebApplicationCondition.class)
|
||||
@EnableConfigurationProperties({ HttpClientSettingsProperties.class, HttpClientProperties.class })
|
||||
@EnableConfigurationProperties(HttpClientProperties.class)
|
||||
public class HttpClientAutoConfiguration implements BeanClassLoaderAware {
|
||||
|
||||
private final ClientHttpRequestFactories factories;
|
||||
|
||||
private ClassLoader beanClassLoader;
|
||||
|
||||
HttpClientAutoConfiguration(ObjectProvider<SslBundles> sslBundles, HttpClientSettingsProperties properties,
|
||||
HttpClientProperties deprecatedProperties) {
|
||||
this.factories = new ClientHttpRequestFactories(sslBundles, properties, deprecatedProperties);
|
||||
HttpClientAutoConfiguration(ObjectProvider<SslBundles> sslBundles, HttpClientProperties properties) {
|
||||
this.factories = new ClientHttpRequestFactories(sslBundles, properties);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -16,12 +16,8 @@
|
|||
|
||||
package org.springframework.boot.autoconfigure.http.client;
|
||||
|
||||
import java.time.Duration;
|
||||
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.boot.context.properties.DeprecatedConfigurationProperty;
|
||||
import org.springframework.boot.http.client.ClientHttpRequestFactorySettings;
|
||||
import org.springframework.boot.http.client.HttpRedirects;
|
||||
|
||||
/**
|
||||
* {@link ConfigurationProperties @ConfigurationProperties} for a Spring's blocking HTTP
|
||||
|
@ -30,41 +26,8 @@ import org.springframework.boot.http.client.HttpRedirects;
|
|||
* @author Phillip Webb
|
||||
* @since 3.4.0
|
||||
* @see ClientHttpRequestFactorySettings
|
||||
* @deprecated since 3.5.0 for removal in 4.0.0 in favor of
|
||||
* {@link HttpClientSettingsProperties}
|
||||
*/
|
||||
@ConfigurationProperties("spring.http.client")
|
||||
@Deprecated(since = "3.5.0", forRemoval = true)
|
||||
public class HttpClientProperties extends AbstractHttpRequestFactoryProperties {
|
||||
|
||||
@Override
|
||||
@DeprecatedConfigurationProperty(since = "3.5.0", replacement = "spring.http.client.settings.factory")
|
||||
public Factory getFactory() {
|
||||
return super.getFactory();
|
||||
}
|
||||
|
||||
@Override
|
||||
@DeprecatedConfigurationProperty(since = "3.5.0", replacement = "spring.http.client.settings.redirects")
|
||||
public HttpRedirects getRedirects() {
|
||||
return super.getRedirects();
|
||||
}
|
||||
|
||||
@Override
|
||||
@DeprecatedConfigurationProperty(since = "3.5.0", replacement = "spring.http.client.settings.connect-timeout")
|
||||
public Duration getConnectTimeout() {
|
||||
return super.getConnectTimeout();
|
||||
}
|
||||
|
||||
@Override
|
||||
@DeprecatedConfigurationProperty(since = "3.5.0", replacement = "spring.http.client.settings.read-timeout")
|
||||
public Duration getReadTimeout() {
|
||||
return super.getReadTimeout();
|
||||
}
|
||||
|
||||
@Override
|
||||
@DeprecatedConfigurationProperty(since = "3.5.0", replacement = "spring.http.client.settings.ssl")
|
||||
public Ssl getSsl() {
|
||||
return super.getSsl();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,33 +0,0 @@
|
|||
/*
|
||||
* Copyright 2012-2025 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.autoconfigure.http.client;
|
||||
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.boot.http.client.reactive.ClientHttpConnectorSettings;
|
||||
|
||||
/**
|
||||
* {@link ConfigurationProperties @ConfigurationProperties} to configure settings that
|
||||
* apply to Spring's blocking HTTP clients.
|
||||
*
|
||||
* @author Phillip Webb
|
||||
* @since 3.5.0
|
||||
* @see ClientHttpConnectorSettings
|
||||
*/
|
||||
@ConfigurationProperties("spring.http.client.settings")
|
||||
public class HttpClientSettingsProperties extends AbstractHttpRequestFactoryProperties {
|
||||
|
||||
}
|
|
@ -48,7 +48,7 @@ import org.springframework.http.client.reactive.ClientHttpConnector;
|
|||
*/
|
||||
@AutoConfiguration(after = SslAutoConfiguration.class)
|
||||
@ConditionalOnClass({ ClientHttpConnector.class, Mono.class })
|
||||
@EnableConfigurationProperties(HttpReactiveClientSettingsProperties.class)
|
||||
@EnableConfigurationProperties(HttpReactiveClientProperties.class)
|
||||
public class ClientHttpConnectorAutoConfiguration implements BeanClassLoaderAware {
|
||||
|
||||
private final ClientHttpConnectors connectors;
|
||||
|
@ -56,7 +56,7 @@ public class ClientHttpConnectorAutoConfiguration implements BeanClassLoaderAwar
|
|||
private ClassLoader beanClassLoader;
|
||||
|
||||
ClientHttpConnectorAutoConfiguration(ObjectProvider<SslBundles> sslBundles,
|
||||
HttpReactiveClientSettingsProperties properties) {
|
||||
HttpReactiveClientProperties properties) {
|
||||
this.connectors = new ClientHttpConnectors(sslBundles, properties);
|
||||
}
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ import org.springframework.boot.http.client.reactive.ClientHttpConnectorSettings
|
|||
* @since 3.5.0
|
||||
* @see ClientHttpConnectorSettings
|
||||
*/
|
||||
@ConfigurationProperties("spring.http.reactiveclient.settings")
|
||||
public class HttpReactiveClientSettingsProperties extends AbstractClientHttpConnectorProperties {
|
||||
@ConfigurationProperties("spring.http.reactiveclient")
|
||||
public class HttpReactiveClientProperties extends AbstractClientHttpConnectorProperties {
|
||||
|
||||
}
|
|
@ -69,9 +69,8 @@ class HttpClientAutoConfigurationTests {
|
|||
@Test
|
||||
void configuresClientHttpRequestFactorySettings() {
|
||||
this.contextRunner.withPropertyValues(sslPropertyValues().toArray(String[]::new))
|
||||
.withPropertyValues("spring.http.client.settings.redirects=dont-follow",
|
||||
"spring.http.client.settings.connect-timeout=10s", "spring.http.client.settings.read-timeout=20s",
|
||||
"spring.http.client.settings.ssl.bundle=test")
|
||||
.withPropertyValues("spring.http.client.redirects=dont-follow", "spring.http.client.connect-timeout=10s",
|
||||
"spring.http.client.read-timeout=20s", "spring.http.client.ssl.bundle=test")
|
||||
.run((context) -> {
|
||||
ClientHttpRequestFactorySettings settings = context.getBean(ClientHttpRequestFactorySettings.class);
|
||||
assertThat(settings.redirects()).isEqualTo(Redirects.DONT_FOLLOW);
|
||||
|
|
|
@ -123,7 +123,7 @@ class ClientHttpConnectorAutoConfigurationTests {
|
|||
|
||||
@Test
|
||||
void configuresDefinedClientHttpConnectorBuilder() {
|
||||
this.contextRunner.withPropertyValues("spring.http.reactiveclient.settings.connector=jetty")
|
||||
this.contextRunner.withPropertyValues("spring.http.reactiveclient.connector=jetty")
|
||||
.run((context) -> assertThat(context.getBean(ClientHttpConnectorBuilder.class))
|
||||
.isInstanceOf(JettyClientHttpConnectorBuilder.class));
|
||||
}
|
||||
|
@ -131,10 +131,9 @@ class ClientHttpConnectorAutoConfigurationTests {
|
|||
@Test
|
||||
void configuresClientHttpConnectorSettings() {
|
||||
this.contextRunner.withPropertyValues(sslPropertyValues().toArray(String[]::new))
|
||||
.withPropertyValues("spring.http.reactiveclient.settings.redirects=dont-follow",
|
||||
"spring.http.reactiveclient.settings.connect-timeout=10s",
|
||||
"spring.http.reactiveclient.settings.read-timeout=20s",
|
||||
"spring.http.reactiveclient.settings.ssl.bundle=test")
|
||||
.withPropertyValues("spring.http.reactiveclient.redirects=dont-follow",
|
||||
"spring.http.reactiveclient.connect-timeout=10s", "spring.http.reactiveclient.read-timeout=20s",
|
||||
"spring.http.reactiveclient.ssl.bundle=test")
|
||||
.run((context) -> {
|
||||
ClientHttpConnectorSettings settings = context.getBean(ClientHttpConnectorSettings.class);
|
||||
assertThat(settings.redirects()).isEqualTo(HttpRedirects.DONT_FOLLOW);
|
||||
|
@ -156,7 +155,7 @@ class ClientHttpConnectorAutoConfigurationTests {
|
|||
|
||||
@Test
|
||||
void clientHttpConnectorBuilderCustomizersAreApplied() {
|
||||
this.contextRunner.withPropertyValues("spring.http.reactiveclient.settings.connector=jdk")
|
||||
this.contextRunner.withPropertyValues("spring.http.reactiveclient.connector=jdk")
|
||||
.withUserConfiguration(ClientHttpConnectorBuilderCustomizersConfiguration.class)
|
||||
.run((context) -> {
|
||||
ClientHttpConnector connector = context.getBean(ClientHttpConnectorBuilder.class).build();
|
||||
|
|
|
@ -28,7 +28,7 @@ import org.springframework.boot.http.client.reactive.ReactorClientHttpConnectorB
|
|||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
/**
|
||||
* Tests for {@link HttpReactiveClientSettingsProperties}.
|
||||
* Tests for {@link HttpReactiveClientProperties}.
|
||||
*
|
||||
* @author Phillip Webb
|
||||
*/
|
||||
|
|
|
@ -55,7 +55,7 @@ You can learn more about the {url-spring-framework-docs}/web/webflux-webclient/c
|
|||
[[io.rest-client.webclient.configuration]]
|
||||
=== Global HTTP Connector Configuration
|
||||
|
||||
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.
|
||||
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.
|
||||
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:
|
||||
|
||||
[configprops,yaml]
|
||||
|
@ -63,8 +63,7 @@ For example, if you have Reactor Netty on your classpath, but you prefer Jetty's
|
|||
spring:
|
||||
http:
|
||||
reactiveclient:
|
||||
settings:
|
||||
connector: jetty
|
||||
connector: jetty
|
||||
----
|
||||
|
||||
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:
|
|||
spring:
|
||||
http:
|
||||
reactiveclient:
|
||||
settings:
|
||||
connect-timeout: 2s
|
||||
read-timeout: 1s
|
||||
redirects: dont-follow
|
||||
connect-timeout: 2s
|
||||
read-timeout: 1s
|
||||
redirects: dont-follow
|
||||
----
|
||||
|
||||
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,7 +246,7 @@ If multiple clients are available on the classpath, and not global configuration
|
|||
[[io.rest-client.clienthttprequestfactory.configuration]]
|
||||
=== Global HTTP Client Configuration
|
||||
|
||||
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.
|
||||
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.
|
||||
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:
|
||||
|
||||
[configprops,yaml]
|
||||
|
@ -256,8 +254,7 @@ For example, if you have Apache HttpClient on your classpath, but you prefer Jet
|
|||
spring:
|
||||
http:
|
||||
client:
|
||||
settings:
|
||||
factory: jetty
|
||||
factory: jetty
|
||||
----
|
||||
|
||||
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:
|
|||
spring:
|
||||
http:
|
||||
client:
|
||||
settings:
|
||||
connect-timeout: 2s
|
||||
read-timeout: 1s
|
||||
redirects: dont-follow
|
||||
connect-timeout: 2s
|
||||
read-timeout: 1s
|
||||
redirects: dont-follow
|
||||
----
|
||||
|
||||
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.
|
||||
|
|
Loading…
Reference in New Issue