diff --git a/documentation/spring-boot-docs/src/docs/antora/modules/reference/pages/io/rest-client.adoc b/documentation/spring-boot-docs/src/docs/antora/modules/reference/pages/io/rest-client.adoc index 603e112358b..48565bc431e 100644 --- a/documentation/spring-boot-docs/src/docs/antora/modules/reference/pages/io/rest-client.adoc +++ b/documentation/spring-boot-docs/src/docs/antora/modules/reference/pages/io/rest-client.adoc @@ -3,7 +3,7 @@ Spring Boot provides various convenient ways to call remote REST services. If you are developing a non-blocking reactive application and you're using Spring WebFlux, then you can use javadoc:org.springframework.web.reactive.function.client.WebClient[]. -If you prefer blocking APIs then you can use javadoc:org.springframework.web.client.RestClient[] or javadoc:org.springframework.web.client.RestTemplate[]. +If you prefer imperative APIs then you can use javadoc:org.springframework.web.client.RestClient[] or javadoc:org.springframework.web.client.RestTemplate[]. @@ -15,7 +15,7 @@ The javadoc:org.springframework.web.reactive.function.client.WebClient[] interfa You can learn more about the javadoc:org.springframework.web.reactive.function.client.WebClient[] in the dedicated {url-spring-framework-docs}/web/webflux-webclient.html[section in the Spring Framework docs]. TIP: If you are not writing a reactive Spring WebFlux application you can use the xref:io/rest-client.adoc#io.rest-client.restclient[`RestClient`] instead of a javadoc:org.springframework.web.reactive.function.client.WebClient[]. -This provides a similar functional API, but is blocking rather than reactive. +This provides a similar functional API, but is imperative rather than reactive. Spring Boot creates and pre-configures a prototype javadoc:org.springframework.web.reactive.function.client.WebClient$Builder[] bean for you. It is strongly advised to inject it in your components and use it to create javadoc:org.springframework.web.reactive.function.client.WebClient[] instances. @@ -112,7 +112,7 @@ include-code::MyService[] If you are not using Spring WebFlux or Project Reactor in your application we recommend that you use javadoc:org.springframework.web.client.RestClient[] to call remote REST services. -The javadoc:org.springframework.web.client.RestClient[] interface provides a functional style blocking API. +The javadoc:org.springframework.web.client.RestClient[] interface provides a functional style imperative API. Spring Boot creates and pre-configures a prototype javadoc:org.springframework.web.client.RestClient$Builder[] bean for you. It is strongly advised to inject it in your components and use it to create javadoc:org.springframework.web.client.RestClient[] instances. @@ -235,7 +235,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.clients.blocking.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.clients.imperative.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] @@ -243,7 +243,7 @@ For example, if you have Apache HttpClient on your classpath, but you prefer Jet spring: http: clients: - blocking: + imperative: factory: jetty ---- diff --git a/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/HttpClientSettings.java b/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/HttpClientSettings.java index b89f473ef29..40597060f5b 100644 --- a/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/HttpClientSettings.java +++ b/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/HttpClientSettings.java @@ -23,7 +23,7 @@ import org.jspecify.annotations.Nullable; import org.springframework.boot.ssl.SslBundle; /** - * Settings that can be applied when creating a blocking or reactive HTTP client. + * Settings that can be applied when creating a imperative or reactive HTTP client. * * @param redirects the follow redirect strategy to use or null to redirect whenever the * underlying library allows it diff --git a/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/ApiversionProperties.java b/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/ApiversionProperties.java index 5cb5945b5e1..08f0d086a1a 100644 --- a/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/ApiversionProperties.java +++ b/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/ApiversionProperties.java @@ -22,7 +22,7 @@ import org.springframework.boot.context.properties.ConfigurationPropertiesSource import org.springframework.boot.context.properties.bind.Name; /** - * API Version properties for both reactive and blocking HTTP Clients. + * API Version properties for both reactive and imperative HTTP Clients. * * @author Phillip Webb * @since 4.0.0 diff --git a/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/HttpClientProperties.java b/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/HttpClientProperties.java index 3f891928965..451e8b3f5e9 100644 --- a/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/HttpClientProperties.java +++ b/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/HttpClientProperties.java @@ -26,7 +26,7 @@ import org.springframework.boot.context.properties.ConfigurationPropertiesSource import org.springframework.boot.context.properties.NestedConfigurationProperty; /** - * Base class for configuration properties common to both blocking and reactive HTTP + * Base class for configuration properties common to both imperative and reactive HTTP * clients. * * @author Olga Maciaszek-Sharma diff --git a/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/HttpClientsProperties.java b/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/HttpClientsProperties.java index a13d61a4f5f..3527a804574 100644 --- a/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/HttpClientsProperties.java +++ b/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/HttpClientsProperties.java @@ -20,7 +20,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties; /** * {@link ConfigurationProperties @ConfigurationProperties} to configure the defaults used - * for all blocking and non-blocking HTTP clients. + * for all imperative and reactive HTTP clients. * * @author Phillip Webb * @since 4.0.0 diff --git a/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/blocking/BlockingHttpClientAutoConfiguration.java b/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/imperative/ImperativeHttpClientAutoConfiguration.java similarity index 90% rename from module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/blocking/BlockingHttpClientAutoConfiguration.java rename to module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/imperative/ImperativeHttpClientAutoConfiguration.java index 6a67c77f36a..de880c130b2 100644 --- a/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/blocking/BlockingHttpClientAutoConfiguration.java +++ b/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/imperative/ImperativeHttpClientAutoConfiguration.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.http.client.autoconfigure.blocking; +package org.springframework.boot.http.client.autoconfigure.imperative; import java.util.List; @@ -40,7 +40,7 @@ import org.springframework.core.task.VirtualThreadTaskExecutor; import org.springframework.http.client.ClientHttpRequestFactory; /** - * {@link EnableAutoConfiguration Auto-configuration} for blocking HTTP clients. + * {@link EnableAutoConfiguration Auto-configuration} for imperative HTTP clients. * * @author Phillip Webb * @author Sangmin Park @@ -50,19 +50,19 @@ import org.springframework.http.client.ClientHttpRequestFactory; @AutoConfiguration(after = HttpClientAutoConfiguration.class) @ConditionalOnClass(ClientHttpRequestFactory.class) @Conditional(NotReactiveWebApplicationCondition.class) -@EnableConfigurationProperties(BlockingHttpClientsProperties.class) -public final class BlockingHttpClientAutoConfiguration { +@EnableConfigurationProperties(ImperativeHttpClientsProperties.class) +public final class ImperativeHttpClientAutoConfiguration { private final Environment environment; - BlockingHttpClientAutoConfiguration(Environment environment) { + ImperativeHttpClientAutoConfiguration(Environment environment) { this.environment = environment; } @Bean @ConditionalOnMissingBean ClientHttpRequestFactoryBuilder clientHttpRequestFactoryBuilder(ResourceLoader resourceLoader, - BlockingHttpClientsProperties properties, + ImperativeHttpClientsProperties properties, ObjectProvider> clientHttpRequestFactoryBuilderCustomizers) { ClientHttpRequestFactoryBuilder builder = (properties.getFactory() != null) ? properties.getFactory().builder() diff --git a/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/blocking/BlockingHttpClientsProperties.java b/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/imperative/ImperativeHttpClientsProperties.java similarity index 91% rename from module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/blocking/BlockingHttpClientsProperties.java rename to module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/imperative/ImperativeHttpClientsProperties.java index 833af70b23c..4a121f120f2 100644 --- a/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/blocking/BlockingHttpClientsProperties.java +++ b/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/imperative/ImperativeHttpClientsProperties.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.http.client.autoconfigure.blocking; +package org.springframework.boot.http.client.autoconfigure.imperative; import java.util.function.Supplier; @@ -26,14 +26,14 @@ import org.springframework.boot.http.client.autoconfigure.HttpClientsProperties; /** * {@link ConfigurationProperties @ConfigurationProperties} to configure the defaults used - * for blocking HTTP clients. + * for imperative HTTP clients. * * @author Phillip Webb * @since 4.0.0 * @see HttpClientsProperties */ -@ConfigurationProperties("spring.http.clients.blocking") -public class BlockingHttpClientsProperties { +@ConfigurationProperties("spring.http.clients.imperative") +public class ImperativeHttpClientsProperties { /** * Default factory used for a client HTTP request. diff --git a/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/blocking/NotReactiveWebApplicationCondition.java b/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/imperative/NotReactiveWebApplicationCondition.java similarity index 95% rename from module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/blocking/NotReactiveWebApplicationCondition.java rename to module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/imperative/NotReactiveWebApplicationCondition.java index 2c427cf5e85..5e09624a722 100644 --- a/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/blocking/NotReactiveWebApplicationCondition.java +++ b/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/imperative/NotReactiveWebApplicationCondition.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.http.client.autoconfigure.blocking; +package org.springframework.boot.http.client.autoconfigure.imperative; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type; diff --git a/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/blocking/package-info.java b/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/imperative/package-info.java similarity index 84% rename from module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/blocking/package-info.java rename to module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/imperative/package-info.java index d5529511eb2..ca9bf2f405d 100644 --- a/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/blocking/package-info.java +++ b/module/spring-boot-http-client/src/main/java/org/springframework/boot/http/client/autoconfigure/imperative/package-info.java @@ -15,9 +15,9 @@ */ /** - * Auto-configuration for client-side blocking HTTP. + * Auto-configuration for client-side imperative HTTP. */ @NullMarked -package org.springframework.boot.http.client.autoconfigure.blocking; +package org.springframework.boot.http.client.autoconfigure.imperative; import org.jspecify.annotations.NullMarked; diff --git a/module/spring-boot-http-client/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/module/spring-boot-http-client/src/main/resources/META-INF/additional-spring-configuration-metadata.json index 0308de35e01..39261a40827 100644 --- a/module/spring-boot-http-client/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/module/spring-boot-http-client/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -16,7 +16,7 @@ "description": "Default factory used for a client HTTP request.", "deprecated": true, "deprecation": { - "replacement": "spring.http.clients.blocking.factory", + "replacement": "spring.http.clients.imperative.factory", "since": "4.0.0" } }, diff --git a/module/spring-boot-http-client/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/module/spring-boot-http-client/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index ff280205b8b..9b4202ff6d7 100644 --- a/module/spring-boot-http-client/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/module/spring-boot-http-client/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1,4 +1,4 @@ org.springframework.boot.http.client.autoconfigure.HttpClientAutoConfiguration -org.springframework.boot.http.client.autoconfigure.blocking.BlockingHttpClientAutoConfiguration +org.springframework.boot.http.client.autoconfigure.imperative.ImperativeHttpClientAutoConfiguration org.springframework.boot.http.client.autoconfigure.metrics.HttpClientMetricsAutoConfiguration org.springframework.boot.http.client.autoconfigure.reactive.ReactiveHttpClientAutoConfiguration diff --git a/module/spring-boot-http-client/src/test/java/org/springframework/boot/http/client/autoconfigure/blocking/BlockingHttpClientAutoConfigurationTests.java b/module/spring-boot-http-client/src/test/java/org/springframework/boot/http/client/autoconfigure/imperative/ImperativeHttpClientAutoConfigurationTests.java similarity index 93% rename from module/spring-boot-http-client/src/test/java/org/springframework/boot/http/client/autoconfigure/blocking/BlockingHttpClientAutoConfigurationTests.java rename to module/spring-boot-http-client/src/test/java/org/springframework/boot/http/client/autoconfigure/imperative/ImperativeHttpClientAutoConfigurationTests.java index 7cb7f288a7d..046f6f56c70 100644 --- a/module/spring-boot-http-client/src/test/java/org/springframework/boot/http/client/autoconfigure/blocking/BlockingHttpClientAutoConfigurationTests.java +++ b/module/spring-boot-http-client/src/test/java/org/springframework/boot/http/client/autoconfigure/imperative/ImperativeHttpClientAutoConfigurationTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.http.client.autoconfigure.blocking; +package org.springframework.boot.http.client.autoconfigure.imperative; import java.net.http.HttpClient; import java.time.Duration; @@ -50,14 +50,14 @@ import org.springframework.test.util.ReflectionTestUtils; import static org.assertj.core.api.Assertions.assertThat; /** - * Tests for {@link BlockingHttpClientAutoConfiguration}. + * Tests for {@link ImperativeHttpClientAutoConfiguration}. * * @author Phillip Webb */ -class BlockingHttpClientAutoConfigurationTests { +class ImperativeHttpClientAutoConfigurationTests { private static final AutoConfigurations autoConfigurations = AutoConfigurations - .of(BlockingHttpClientAutoConfiguration.class, HttpClientAutoConfiguration.class, SslAutoConfiguration.class); + .of(ImperativeHttpClientAutoConfiguration.class, HttpClientAutoConfiguration.class, SslAutoConfiguration.class); private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() .withConfiguration(autoConfigurations); @@ -69,7 +69,7 @@ class BlockingHttpClientAutoConfigurationTests { @Test void configuresDefinedClientHttpRequestFactoryBuilder() { - this.contextRunner.withPropertyValues("spring.http.clients.blocking.factory=simple") + this.contextRunner.withPropertyValues("spring.http.clients.imperative.factory=simple") .run((context) -> assertThat(context.getBean(ClientHttpRequestFactoryBuilder.class)) .isInstanceOf(SimpleClientHttpRequestFactoryBuilder.class)); } @@ -146,7 +146,7 @@ class BlockingHttpClientAutoConfigurationTests { @EnabledForJreRange(min = JRE.JAVA_21) void whenVirtualThreadsEnabledAndUsingJdkHttpClientUsesVirtualThreadExecutor() { this.contextRunner - .withPropertyValues("spring.http.clients.blocking.factory=jdk", "spring.threads.virtual.enabled=true") + .withPropertyValues("spring.http.clients.imperative.factory=jdk", "spring.threads.virtual.enabled=true") .run((context) -> { ClientHttpRequestFactory factory = context.getBean(ClientHttpRequestFactoryBuilder.class).build(); HttpClient httpClient = (HttpClient) ReflectionTestUtils.getField(factory, "httpClient"); diff --git a/module/spring-boot-http-client/src/test/java/org/springframework/boot/http/client/autoconfigure/blocking/BlockingHttpClientsPropertiesTests.java b/module/spring-boot-http-client/src/test/java/org/springframework/boot/http/client/autoconfigure/imperative/ImperativeHttpClientsPropertiesTests.java similarity index 87% rename from module/spring-boot-http-client/src/test/java/org/springframework/boot/http/client/autoconfigure/blocking/BlockingHttpClientsPropertiesTests.java rename to module/spring-boot-http-client/src/test/java/org/springframework/boot/http/client/autoconfigure/imperative/ImperativeHttpClientsPropertiesTests.java index 7a52ca449a1..9230579742b 100644 --- a/module/spring-boot-http-client/src/test/java/org/springframework/boot/http/client/autoconfigure/blocking/BlockingHttpClientsPropertiesTests.java +++ b/module/spring-boot-http-client/src/test/java/org/springframework/boot/http/client/autoconfigure/imperative/ImperativeHttpClientsPropertiesTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.http.client.autoconfigure.blocking; +package org.springframework.boot.http.client.autoconfigure.imperative; import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; @@ -24,16 +24,16 @@ import org.springframework.boot.http.client.JdkClientHttpRequestFactoryBuilder; import org.springframework.boot.http.client.JettyClientHttpRequestFactoryBuilder; import org.springframework.boot.http.client.ReactorClientHttpRequestFactoryBuilder; import org.springframework.boot.http.client.SimpleClientHttpRequestFactoryBuilder; -import org.springframework.boot.http.client.autoconfigure.blocking.BlockingHttpClientsProperties.Factory; +import org.springframework.boot.http.client.autoconfigure.imperative.ImperativeHttpClientsProperties.Factory; import static org.assertj.core.api.Assertions.assertThat; /** - * Tests for {@link BlockingHttpClientsProperties}. + * Tests for {@link ImperativeHttpClientsProperties}. * * @author Phillip Webb */ -class BlockingHttpClientsPropertiesTests { +class ImperativeHttpClientsPropertiesTests { @Nested class FactoryTests { diff --git a/module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/RestClientAutoConfiguration.java b/module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/RestClientAutoConfiguration.java index 76a781e3306..cd280fcfbbd 100644 --- a/module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/RestClientAutoConfiguration.java +++ b/module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/RestClientAutoConfiguration.java @@ -27,7 +27,7 @@ import org.springframework.boot.autoconfigure.ssl.SslAutoConfiguration; import org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration; import org.springframework.boot.http.client.ClientHttpRequestFactoryBuilder; import org.springframework.boot.http.client.HttpClientSettings; -import org.springframework.boot.http.client.autoconfigure.blocking.BlockingHttpClientAutoConfiguration; +import org.springframework.boot.http.client.autoconfigure.imperative.ImperativeHttpClientAutoConfiguration; import org.springframework.boot.http.converter.autoconfigure.ClientHttpMessageConvertersCustomizer; import org.springframework.boot.restclient.RestClientCustomizer; import org.springframework.boot.ssl.SslBundles; @@ -54,7 +54,7 @@ import org.springframework.web.client.RestClient.Builder; * @author Phillip Webb * @since 4.0.0 */ -@AutoConfiguration(after = { BlockingHttpClientAutoConfiguration.class, TaskExecutionAutoConfiguration.class, +@AutoConfiguration(after = { ImperativeHttpClientAutoConfiguration.class, TaskExecutionAutoConfiguration.class, SslAutoConfiguration.class }) @ConditionalOnClass(RestClient.class) @Conditional(NotReactiveWebApplicationOrVirtualThreadsExecutorEnabledCondition.class) diff --git a/module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/service/HttpServiceClientAutoConfiguration.java b/module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/service/HttpServiceClientAutoConfiguration.java index 704f8d57cd7..60926d6fb21 100644 --- a/module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/service/HttpServiceClientAutoConfiguration.java +++ b/module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/service/HttpServiceClientAutoConfiguration.java @@ -23,7 +23,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.http.client.ClientHttpRequestFactoryBuilder; import org.springframework.boot.http.client.HttpClientSettings; -import org.springframework.boot.http.client.autoconfigure.blocking.BlockingHttpClientAutoConfiguration; +import org.springframework.boot.http.client.autoconfigure.imperative.ImperativeHttpClientAutoConfiguration; import org.springframework.boot.http.client.autoconfigure.service.HttpServiceClientProperties; import org.springframework.boot.restclient.RestClientCustomizer; import org.springframework.boot.restclient.autoconfigure.RestClientAutoConfiguration; @@ -43,7 +43,7 @@ import org.springframework.web.service.registry.HttpServiceProxyRegistry; * @author Phillip Webb * @since 4.0.0 */ -@AutoConfiguration(after = { BlockingHttpClientAutoConfiguration.class, RestClientAutoConfiguration.class }) +@AutoConfiguration(after = { ImperativeHttpClientAutoConfiguration.class, RestClientAutoConfiguration.class }) @ConditionalOnClass(RestClientAdapter.class) @ConditionalOnBean(HttpServiceProxyRegistry.class) @Conditional(NotReactiveWebApplicationCondition.class) diff --git a/module/spring-boot-restclient/src/test/java/org/springframework/boot/restclient/autoconfigure/RestClientAutoConfigurationTests.java b/module/spring-boot-restclient/src/test/java/org/springframework/boot/restclient/autoconfigure/RestClientAutoConfigurationTests.java index 01cb96c67f4..7816e0a2a68 100644 --- a/module/spring-boot-restclient/src/test/java/org/springframework/boot/restclient/autoconfigure/RestClientAutoConfigurationTests.java +++ b/module/spring-boot-restclient/src/test/java/org/springframework/boot/restclient/autoconfigure/RestClientAutoConfigurationTests.java @@ -29,7 +29,7 @@ import org.springframework.boot.http.client.ClientHttpRequestFactoryBuilder; import org.springframework.boot.http.client.HttpClientSettings; import org.springframework.boot.http.client.HttpRedirects; import org.springframework.boot.http.client.autoconfigure.HttpClientAutoConfiguration; -import org.springframework.boot.http.client.autoconfigure.blocking.BlockingHttpClientAutoConfiguration; +import org.springframework.boot.http.client.autoconfigure.imperative.ImperativeHttpClientAutoConfiguration; import org.springframework.boot.http.client.autoconfigure.reactive.ReactiveHttpClientAutoConfiguration; import org.springframework.boot.http.converter.autoconfigure.HttpMessageConvertersAutoConfiguration; import org.springframework.boot.restclient.RestClientCustomizer; @@ -64,7 +64,7 @@ class RestClientAutoConfigurationTests { private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() .withConfiguration(AutoConfigurations.of(RestClientAutoConfiguration.class, HttpClientAutoConfiguration.class, - BlockingHttpClientAutoConfiguration.class, ReactiveHttpClientAutoConfiguration.class)); + ImperativeHttpClientAutoConfiguration.class, ReactiveHttpClientAutoConfiguration.class)); @Test void shouldSupplyBeans() { @@ -191,7 +191,7 @@ class RestClientAutoConfigurationTests { void whenHasFactoryProperty() { this.contextRunner.withConfiguration(AutoConfigurations.of(HttpMessageConvertersAutoConfiguration.class)) .withUserConfiguration(RestClientConfig.class) - .withPropertyValues("spring.http.clients.blocking.factory=simple") + .withPropertyValues("spring.http.clients.imperative.factory=simple") .run((context) -> { assertThat(context).hasSingleBean(RestClient.class); RestClient restClient = context.getBean(RestClient.class); diff --git a/module/spring-boot-restclient/src/test/java/org/springframework/boot/restclient/autoconfigure/RestTemplateAutoConfigurationTests.java b/module/spring-boot-restclient/src/test/java/org/springframework/boot/restclient/autoconfigure/RestTemplateAutoConfigurationTests.java index 4a638b00bd5..f488ed0e53b 100644 --- a/module/spring-boot-restclient/src/test/java/org/springframework/boot/restclient/autoconfigure/RestTemplateAutoConfigurationTests.java +++ b/module/spring-boot-restclient/src/test/java/org/springframework/boot/restclient/autoconfigure/RestTemplateAutoConfigurationTests.java @@ -23,7 +23,7 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.support.BeanDefinitionOverrideException; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.http.client.autoconfigure.HttpClientAutoConfiguration; -import org.springframework.boot.http.client.autoconfigure.blocking.BlockingHttpClientAutoConfiguration; +import org.springframework.boot.http.client.autoconfigure.imperative.ImperativeHttpClientAutoConfiguration; import org.springframework.boot.http.converter.autoconfigure.HttpMessageConvertersAutoConfiguration; import org.springframework.boot.restclient.RestTemplateBuilder; import org.springframework.boot.restclient.RestTemplateCustomizer; @@ -59,7 +59,7 @@ class RestTemplateAutoConfigurationTests { private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() .withConfiguration(AutoConfigurations.of(RestTemplateAutoConfiguration.class, HttpClientAutoConfiguration.class, - BlockingHttpClientAutoConfiguration.class)); + ImperativeHttpClientAutoConfiguration.class)); @Test void restTemplateBuilderConfigurerShouldBeLazilyDefined() { @@ -184,7 +184,7 @@ class RestTemplateAutoConfigurationTests { void whenHasFactoryProperty() { this.contextRunner.withConfiguration(AutoConfigurations.of(HttpMessageConvertersAutoConfiguration.class)) .withUserConfiguration(RestTemplateConfig.class) - .withPropertyValues("spring.http.clients.blocking.factory=simple") + .withPropertyValues("spring.http.clients.imperative.factory=simple") .run((context) -> { assertThat(context).hasSingleBean(RestTemplate.class); RestTemplate restTemplate = context.getBean(RestTemplate.class); diff --git a/module/spring-boot-restclient/src/test/java/org/springframework/boot/restclient/autoconfigure/service/HttpServiceClientAutoConfigurationTests.java b/module/spring-boot-restclient/src/test/java/org/springframework/boot/restclient/autoconfigure/service/HttpServiceClientAutoConfigurationTests.java index c2556f8709c..f4ed2f38fc2 100644 --- a/module/spring-boot-restclient/src/test/java/org/springframework/boot/restclient/autoconfigure/service/HttpServiceClientAutoConfigurationTests.java +++ b/module/spring-boot-restclient/src/test/java/org/springframework/boot/restclient/autoconfigure/service/HttpServiceClientAutoConfigurationTests.java @@ -33,7 +33,7 @@ import org.springframework.boot.http.client.ClientHttpRequestFactoryBuilder; import org.springframework.boot.http.client.HttpClientSettings; import org.springframework.boot.http.client.HttpRedirects; import org.springframework.boot.http.client.autoconfigure.HttpClientAutoConfiguration; -import org.springframework.boot.http.client.autoconfigure.blocking.BlockingHttpClientAutoConfiguration; +import org.springframework.boot.http.client.autoconfigure.imperative.ImperativeHttpClientAutoConfiguration; import org.springframework.boot.restclient.RestClientCustomizer; import org.springframework.boot.restclient.autoconfigure.RestClientAutoConfiguration; import org.springframework.boot.test.context.runner.ApplicationContextRunner; @@ -70,7 +70,7 @@ class HttpServiceClientAutoConfigurationTests { private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() .withConfiguration(AutoConfigurations.of(HttpServiceClientAutoConfiguration.class, - BlockingHttpClientAutoConfiguration.class, RestClientAutoConfiguration.class)); + ImperativeHttpClientAutoConfiguration.class, RestClientAutoConfiguration.class)); @Test void configuresClientFromProperties() { @@ -146,7 +146,7 @@ class HttpServiceClientAutoConfigurationTests { void whenHasUserDefinedRequestFactorySettings() { this.contextRunner .withPropertyValues("spring.http.serviceclient.one.base-url=https://example.com", - "spring.http.clients.blocking.factory=jdk") + "spring.http.clients.imperative.factory=jdk") .withUserConfiguration(HttpClientConfiguration.class, RequestFactorySettingsConfiguration.class) .run((context) -> { TestClientOne clientOne = context.getBean(TestClientOne.class); diff --git a/smoke-test/spring-boot-smoke-test-web-method-security/src/test/java/smoketest/security/method/SampleMethodSecurityApplicationTests.java b/smoke-test/spring-boot-smoke-test-web-method-security/src/test/java/smoketest/security/method/SampleMethodSecurityApplicationTests.java index 072476002c9..f5f791f709e 100644 --- a/smoke-test/spring-boot-smoke-test-web-method-security/src/test/java/smoketest/security/method/SampleMethodSecurityApplicationTests.java +++ b/smoke-test/spring-boot-smoke-test-web-method-security/src/test/java/smoketest/security/method/SampleMethodSecurityApplicationTests.java @@ -44,7 +44,8 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Dave Syer * @author Scott Frederick */ -@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT, properties = "spring.http.clients.blocking.factory=simple") +@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT, + properties = "spring.http.clients.imperative.factory=simple") @AutoConfigureTestRestTemplate class SampleMethodSecurityApplicationTests {