From ab35034b989bcb4f91626dff15af018f6ec679eb Mon Sep 17 00:00:00 2001 From: Spencer Gibb Date: Wed, 16 May 2018 15:40:34 -0400 Subject: [PATCH] Makes multijgit beans search only the current context. see gh-1014 --- .../config/EnvironmentRepositoryConfiguration.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/EnvironmentRepositoryConfiguration.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/EnvironmentRepositoryConfiguration.java index afd99b09..ad766d58 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/EnvironmentRepositoryConfiguration.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/EnvironmentRepositoryConfiguration.java @@ -20,6 +20,7 @@ import java.security.KeyStoreException; import java.security.NoSuchAlgorithmException; import java.util.List; import java.util.Optional; + import javax.net.ssl.SSLContext; import javax.servlet.http.HttpServletRequest; @@ -37,6 +38,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.boot.autoconfigure.condition.SearchStrategy; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.cloud.config.server.composite.CompositeEnvironmentBeanFactoryPostProcessor; import org.springframework.cloud.config.server.composite.ConditionalOnMissingSearchPathLocator; @@ -80,7 +82,7 @@ import org.springframework.web.client.RestTemplate; * */ @Configuration -@EnableConfigurationProperties({ MultipleJGitEnvironmentProperties.class, SvnKitEnvironmentProperties.class, +@EnableConfigurationProperties({ SvnKitEnvironmentProperties.class, JdbcEnvironmentProperties.class, NativeEnvironmentProperties.class, VaultEnvironmentProperties.class }) @Import({ CompositeRepositoryConfiguration.class, JdbcRepositoryConfiguration.class, VaultRepositoryConfiguration.class, SvnRepositoryConfiguration.class, NativeRepositoryConfiguration.class, GitRepositoryConfiguration.class, @@ -93,6 +95,12 @@ public class EnvironmentRepositoryConfiguration { return new ConfigServerHealthIndicator(repository); } + @Bean + @ConditionalOnMissingBean(search = SearchStrategy.CURRENT) + public MultipleJGitEnvironmentProperties multipleJGitEnvironmentProperties() { + return new MultipleJGitEnvironmentProperties(); + } + @Configuration @ConditionalOnProperty(value = "spring.cloud.config.server.consul.watch.enabled") protected static class ConsulEnvironmentWatchConfiguration { @@ -184,7 +192,7 @@ public class EnvironmentRepositoryConfiguration { } @Configuration -@ConditionalOnMissingBean(EnvironmentRepository.class) +@ConditionalOnMissingBean(value = EnvironmentRepository.class, search = SearchStrategy.CURRENT) class DefaultRepositoryConfiguration { @Autowired private ConfigurableEnvironment environment;