From 966d4251a4cad7735539230a2ee5b3e6677e468a Mon Sep 17 00:00:00 2001 From: Brian Clozel Date: Fri, 5 Jan 2018 16:24:34 +0100 Subject: [PATCH] Warn against custom request factories in RestTemplateBuilder This commit adds a javadoc note about a usability issue described in gh-11255. While `RestTemplateBuilder` is an immutable class, providing a custom instance of request factory and deriving several builders/templates from that point may have some unexpected behavior, since that instance is shared amongst builders instances. This issue is fixed in Spring Boot 2.0 with a replacement method that leverages a `Supplier` instead. See gh-11255 --- .../springframework/boot/web/client/RestTemplateBuilder.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spring-boot/src/main/java/org/springframework/boot/web/client/RestTemplateBuilder.java b/spring-boot/src/main/java/org/springframework/boot/web/client/RestTemplateBuilder.java index f8edf46254..7b73e90b85 100644 --- a/spring-boot/src/main/java/org/springframework/boot/web/client/RestTemplateBuilder.java +++ b/spring-boot/src/main/java/org/springframework/boot/web/client/RestTemplateBuilder.java @@ -337,6 +337,8 @@ public class RestTemplateBuilder { /** * Set the {@link ClientHttpRequestFactory} that should be used with the * {@link RestTemplate}. + *

Note that this request factory will be shared with all builder instances + * derived from that point. * @param requestFactory the request factory to use * @return a new builder instance */