Merge pull request #4021 from robertmcnees/Eureka_fix

Modified config bootstrap to default eureka client enabled true
This commit is contained in:
Robert McNees
2021-07-29 13:49:47 -04:00
committed by GitHub
2 changed files with 23 additions and 3 deletions

View File

@@ -21,6 +21,7 @@ import com.netflix.discovery.shared.transport.EurekaHttpClient;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.AllNestedConditions;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
@@ -39,6 +40,7 @@ import org.springframework.cloud.netflix.eureka.http.RestTemplateTransportClient
import org.springframework.cloud.netflix.eureka.http.WebClientEurekaHttpClient;
import org.springframework.cloud.netflix.eureka.http.WebClientTransportClientFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import org.springframework.lang.Nullable;
@@ -51,7 +53,7 @@ import org.springframework.web.reactive.function.client.WebClient;
* @author Dave Syer
*/
@ConditionalOnClass(ConfigServicePropertySourceLocator.class)
@ConditionalOnProperty({ "spring.cloud.config.discovery.enabled", "eureka.client.enabled" })
@Conditional(EurekaConfigServerBootstrapConfiguration.EurekaConfigServerBootstrapCondition.class)
@Configuration(proxyBeanMethods = false)
@EnableConfigurationProperties
public class EurekaConfigServerBootstrapConfiguration {
@@ -102,4 +104,22 @@ public class EurekaConfigServerBootstrapConfiguration {
}
static class EurekaConfigServerBootstrapCondition extends AllNestedConditions {
EurekaConfigServerBootstrapCondition() {
super(ConfigurationPhase.REGISTER_BEAN);
}
@ConditionalOnProperty("spring.cloud.config.discovery.enabled")
static class OnCloudConfigProperty {
}
@ConditionalOnProperty(value = "eureka.client.enabled", matchIfMissing = true)
static class OnEurekaClient {
}
}
}

View File

@@ -73,8 +73,8 @@ public class EurekaConfigServerBootstrapConfigurationTests {
new ApplicationContextRunner()
.withConfiguration(AutoConfigurations.of(EurekaConfigServerBootstrapConfiguration.class))
.withPropertyValues("spring.cloud.config.discovery.enabled=true").run(context -> {
assertEurekaBeansNotPresent(context);
});
assertEurekaBeansPresent(context);
});
}
@Test