From d8dbd3c31b0edaa99f3884a5d7457ba7b0fe7251 Mon Sep 17 00:00:00 2001 From: Ryan Baxter Date: Wed, 8 Sep 2021 12:16:26 -0400 Subject: [PATCH] Remove afterPropertiesSet method to avoid circular reference The RestTemplate created in afterPropertiesSet was only used in one place and that was only called by one bean so moving the creation to the method should not effect anything. --- .../vault/SpringVaultClientConfiguration.java | 16 +++++----------- .../SpringVaultClientConfigurationTests.java | 1 - 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/SpringVaultClientConfiguration.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/SpringVaultClientConfiguration.java index d9b4e983..120ee446 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/SpringVaultClientConfiguration.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/vault/SpringVaultClientConfiguration.java @@ -22,7 +22,6 @@ import java.util.List; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.springframework.beans.factory.InitializingBean; import org.springframework.cloud.config.server.environment.ConfigTokenProvider; import org.springframework.cloud.config.server.environment.VaultEnvironmentProperties; import org.springframework.cloud.config.server.environment.VaultEnvironmentProperties.AuthenticationMethod; @@ -54,7 +53,7 @@ import org.springframework.web.util.UriComponentsBuilder; * @author Scott Frederick */ @Configuration -public class SpringVaultClientConfiguration extends AbstractVaultConfiguration implements InitializingBean { +public class SpringVaultClientConfiguration extends AbstractVaultConfiguration { private static final String VAULT_PROPERTIES_PREFIX = "spring.cloud.config.server.vault."; @@ -62,8 +61,6 @@ public class SpringVaultClientConfiguration extends AbstractVaultConfiguration i private final ConfigTokenProvider configTokenProvider; - private RestOperations externalRestOperations; - private final Log log = LogFactory.getLog(getClass()); private final List authProviders; @@ -76,11 +73,6 @@ public class SpringVaultClientConfiguration extends AbstractVaultConfiguration i this.authProviders = authProviders; } - @Override - public void afterPropertiesSet() { - this.externalRestOperations = new RestTemplate(clientHttpRequestFactoryWrapper().getClientHttpRequestFactory()); - } - @Override public VaultEndpoint vaultEndpoint() { @@ -173,10 +165,12 @@ public class SpringVaultClientConfiguration extends AbstractVaultConfiguration i throw new UnsupportedOperationException("No Vault client authentication providers are configured"); } + RestTemplate externalOperations = new RestTemplate( + clientHttpRequestFactoryWrapper().getClientHttpRequestFactory()); + for (SpringVaultClientAuthenticationProvider authProvider : this.authProviders) { if (authProvider.supports(this.vaultProperties)) { - return authProvider.getClientAuthentication(this.vaultProperties, restOperations(), - this.externalRestOperations); + return authProvider.getClientAuthentication(this.vaultProperties, restOperations(), externalOperations); } } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/vault/SpringVaultClientConfigurationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/vault/SpringVaultClientConfigurationTests.java index ce137ba7..fd7f0974 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/vault/SpringVaultClientConfigurationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/vault/SpringVaultClientConfigurationTests.java @@ -335,7 +335,6 @@ class SpringVaultClientConfigurationTests { private SpringVaultClientConfiguration getConfiguration(VaultEnvironmentProperties properties) { SpringVaultClientConfiguration configuration = new SpringVaultClientConfiguration(properties, () -> null, authProviders); - configuration.afterPropertiesSet(); configuration.setApplicationContext(applicationContext); return configuration; }