From 0d42e61be0ffbf0ec911ff2e14ce8c56f7f8195d Mon Sep 17 00:00:00 2001 From: buildmaster Date: Fri, 5 May 2023 00:27:08 +0000 Subject: [PATCH 1/2] Bumping versions --- docs/src/main/asciidoc/_configprops.adoc | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/src/main/asciidoc/_configprops.adoc b/docs/src/main/asciidoc/_configprops.adoc index ee6db0e2..a90f6e31 100644 --- a/docs/src/main/asciidoc/_configprops.adoc +++ b/docs/src/main/asciidoc/_configprops.adoc @@ -7,6 +7,7 @@ |spring.cloud.config.enabled | `+++true+++` | Flag to say that remote configuration is enabled. Default true; |spring.cloud.config.fail-fast | `+++false+++` | Flag to indicate that failure to connect to the server is fatal (default false). |spring.cloud.config.headers | | Additional headers used to create the client request. +|spring.cloud.config.initialize-on-context-refresh | `+++false+++` | Flag to initialize bootstrap configuration on context refresh event. Default false. |spring.cloud.config.label | | The label name to use to pull remote configuration properties. The default is set on the server (generally "master" for a git based server). |spring.cloud.config.media-type | | The Accept header media type to send to config server. |spring.cloud.config.name | | Name of application used to fetch remote properties. From 6effa362ffc743c38627a1dde8156e78b6195341 Mon Sep 17 00:00:00 2001 From: Ryan Baxter <524254+ryanjbaxter@users.noreply.github.com> Date: Tue, 9 May 2023 10:01:22 -0400 Subject: [PATCH 2/2] Document how to customize RestTemplate using config data Fixes #1863 --- .../main/asciidoc/spring-cloud-config.adoc | 43 +++++++++++++++++-- 1 file changed, 39 insertions(+), 4 deletions(-) diff --git a/docs/src/main/asciidoc/spring-cloud-config.adoc b/docs/src/main/asciidoc/spring-cloud-config.adoc index 401848b4..87a19f52 100644 --- a/docs/src/main/asciidoc/spring-cloud-config.adoc +++ b/docs/src/main/asciidoc/spring-cloud-config.adoc @@ -1966,10 +1966,45 @@ To change that value, set the `health.config.time-to-live` property (in millisec In some cases, you might need to customize the requests made to the config server from the client. Typically, doing so involves passing special `Authorization` headers to authenticate requests to the server. -To provide a custom `RestTemplate`: + +===== Providing A Custom RestTemplate Using Config Data + +To provide a custom `RestTemplate` when using Config Data: + +1. Create a class which implements `BootstrapRegistryInitializer` ++ +.CustomBootstrapRegistryInitializer.java +[source,java] +---- +public class CustomBootstrapRegistryInitializer implements BootstrapRegistryInitializer { + + @Override + public void initialize(BootstrapRegistry registry) { + registry.register(RestTemplate.class, context -> { + RestTemplate restTemplate = new RestTemplate(); + // Customize RestTemplate here + return restTemplate; + }); + } + +} +---- + +2. In `resources/META-INF`, create a file called +`spring.factories` and specify your custom configuration, as shown in the following example: ++ +.spring.factories +[source,properties] +---- +org.springframework.boot.BootstrapRegistryInitializer=com.my.config.client.CustomBootstrapRegistryInitializer +---- + +===== Providing A Custom RestTemplate Using Bootstrap + +To provide a custom `RestTemplate` when using Bootstrap: 1. Create a new configuration bean with an implementation of `PropertySourceLocator`, as shown in the following example: - ++ .CustomConfigServiceBootstrapConfiguration.java [source,java] ---- @@ -1984,12 +2019,12 @@ public class CustomConfigServiceBootstrapConfiguration { } } ---- - ++ NOTE: For a simplified approach to adding `Authorization` headers, the `spring.cloud.config.headers.*` property can be used instead. 2. In `resources/META-INF`, create a file called `spring.factories` and specify your custom configuration, as shown in the following example: - ++ .spring.factories [source,properties] ----