Remove @EnableDiscoveryClient as it is optional (#147)

* Remove `@EnableDiscoveryClient` as it is optional.  Fixes #146.
This commit is contained in:
Ryan Baxter
2017-09-25 13:16:12 -04:00
committed by GitHub
parent 99307b1c1e
commit 629b373e5d
18 changed files with 10 additions and 43 deletions

View File

@@ -33,7 +33,6 @@ Example Zookeeper client:
[source,java,indent=0]
----
@SpringBootApplication
@EnableDiscoveryClient
@RestController
public class Application {
@@ -63,7 +62,9 @@ CAUTION: If you use <<spring-cloud-zookeeper-config,Spring Cloud Zookeeper Confi
The default service name, instance id and port, taken from the `Environment`, are `${spring.application.name}`, the Spring Context ID and `${server.port}` respectively.
`@EnableDiscoveryClient` makes the app into both a Zookeeper "service" (i.e. it registers itself) and a "client" (i.e. it can query Zookeeper to locate other services).
Having `spring-cloud-starter-zookeeper-discovery` on the classpath makes the app into both a Zookeeper "service" (i.e. it registers itself) and a "client" (i.e. it can query Zookeeper to locate other services).
If you would like to disable the Zookeeper Discovery Client you can set `spring.cloud.zookeeper.discovery.enabled` to `false`.
=== Using the DiscoveryClient

View File

@@ -20,6 +20,7 @@ import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.x.discovery.ServiceDiscovery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.endpoint.Endpoint;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
@@ -39,6 +40,7 @@ import org.springframework.context.annotation.Configuration;
@ConditionalOnBean(ZookeeperDiscoveryClientConfiguration.Marker.class)
@ConditionalOnZookeeperDiscoveryEnabled
@AutoConfigureBefore({CommonsClientAutoConfiguration.class, NoopDiscoveryClientAutoConfiguration.class})
@AutoConfigureAfter({ZookeeperDiscoveryClientConfiguration.class})
public class ZookeeperDiscoveryAutoConfiguration {
@Autowired(required = false)

View File

@@ -24,11 +24,9 @@ import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.x.discovery.details.InstanceSerializer;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationAutoConfiguration;
import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationProperties;
import org.springframework.cloud.zookeeper.discovery.ConditionalOnZookeeperDiscoveryEnabled;
import org.springframework.cloud.zookeeper.discovery.ZookeeperDiscoveryAutoConfiguration;
import org.springframework.cloud.zookeeper.discovery.ZookeeperDiscoveryProperties;
@@ -38,12 +36,11 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@ConditionalOnBean(AutoServiceRegistrationProperties.class)
@ConditionalOnMissingBean(type = "org.springframework.cloud.zookeeper.discovery.ZookeeperLifecycle")
@ConditionalOnZookeeperDiscoveryEnabled
@ConditionalOnProperty(value = "spring.cloud.service-registry.auto-registration.enabled", matchIfMissing = true)
@AutoConfigureAfter(ZookeeperServiceRegistryAutoConfiguration.class)
@AutoConfigureBefore( {AutoServiceRegistrationAutoConfiguration.class, ZookeeperDiscoveryAutoConfiguration.class} )
@AutoConfigureAfter( { ZookeeperServiceRegistryAutoConfiguration.class} )
@AutoConfigureBefore( {AutoServiceRegistrationAutoConfiguration.class,ZookeeperDiscoveryAutoConfiguration.class} )
public class ZookeeperAutoServiceRegistrationAutoConfiguration {
@Bean

View File

@@ -9,11 +9,9 @@ org.springframework.cloud.zookeeper.discovery.dependency.ZookeeperDependenciesAu
org.springframework.cloud.zookeeper.discovery.watcher.DependencyWatcherAutoConfiguration,\
org.springframework.cloud.zookeeper.serviceregistry.ZookeeperAutoServiceRegistrationAutoConfiguration,\
org.springframework.cloud.zookeeper.serviceregistry.ZookeeperServiceRegistryAutoConfiguration,\
org.springframework.cloud.zookeeper.support.CuratorServiceDiscoveryAutoConfiguration
org.springframework.cloud.zookeeper.support.CuratorServiceDiscoveryAutoConfiguration,\
org.springframework.cloud.zookeeper.discovery.ZookeeperDiscoveryClientConfiguration
# Environment Post Processors
org.springframework.boot.env.EnvironmentPostProcessor=\
org.springframework.cloud.zookeeper.discovery.dependency.DependencyEnvironmentPostProcessor
org.springframework.cloud.client.discovery.EnableDiscoveryClient=\
org.springframework.cloud.zookeeper.discovery.ZookeeperDiscoveryClientConfiguration

View File

@@ -21,7 +21,6 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.zookeeper.discovery.test.CommonTestConfig;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -43,7 +42,6 @@ public class ZookeeperDiscoveryDisabledTests {
@Configuration
@EnableAutoConfiguration
@EnableDiscoveryClient
@Import(CommonTestConfig.class)
static class SomeApp {
@Bean

View File

@@ -14,7 +14,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.cloud.zookeeper.discovery.test.CommonTestConfig;
import org.springframework.cloud.zookeeper.discovery.test.TestRibbonClient;
@@ -58,7 +57,6 @@ public class ZookeeperDiscoveryHealthIndicatorWithNestedStructureTests {
@Configuration
@EnableAutoConfiguration
@EnableDiscoveryClient
@Import(CommonTestConfig.class)
@Profile("nestedstructure")
static class Config {

View File

@@ -6,7 +6,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.zookeeper.discovery.test.CommonTestConfig;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
@@ -36,7 +35,6 @@ public class ZookeeperDiscoveryPropertiesTests {
@Configuration
@EnableAutoConfiguration
@Import(CommonTestConfig.class)
@EnableDiscoveryClient
static class Config {
}

View File

@@ -23,7 +23,6 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.client.loadbalancer.LoadBalancerClient;
import org.springframework.cloud.netflix.ribbon.ServerIntrospector;
import org.springframework.cloud.netflix.ribbon.SpringClientFactory;
@@ -88,7 +87,6 @@ public class ZookeeperDiscoverySecurePortTests {
@Configuration
@EnableAutoConfiguration
@Import(CommonTestConfig.class)
@EnableDiscoveryClient
@Profile("ribbon")
static class Config {
}

View File

@@ -11,7 +11,6 @@ import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.cloud.netflix.feign.EnableFeignClients;
import org.springframework.cloud.netflix.feign.FeignClient;
@@ -117,7 +116,6 @@ public class ZookeeperDiscoveryTests {
@Configuration
@EnableAutoConfiguration
@Import(CommonTestConfig.class)
@EnableDiscoveryClient
@EnableFeignClients(clients = { IdUsingFeignClient.class })
@Profile("ribbon")
static class Config {

View File

@@ -28,7 +28,6 @@ import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.cloud.zookeeper.discovery.test.CommonTestConfig;
import org.springframework.cloud.zookeeper.discovery.test.TestRibbonClient;
@@ -101,7 +100,6 @@ public class ZookeeperDiscoveryWithZookeeperLifecycleTests {
@Configuration
@EnableAutoConfiguration
@Import(CommonTestConfig.class)
@EnableDiscoveryClient
@Profile("ribbon")
static class Config {
@Bean

View File

@@ -24,10 +24,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.zookeeper.ZookeeperAutoConfiguration;
import org.springframework.cloud.zookeeper.discovery.test.CommonTestConfig;
import org.springframework.cloud.zookeeper.serviceregistry.ZookeeperAutoServiceRegistration;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.test.context.junit4.SpringRunner;
@@ -57,7 +54,6 @@ public class ZookeeperLifecycleRegistrationDisabledTests {
@Configuration
@EnableAutoConfiguration
@EnableDiscoveryClient
@Import({ CommonTestConfig.class })
static class TestPropsConfig { }
}

View File

@@ -26,7 +26,6 @@ import org.springframework.boot.actuate.autoconfigure.EndpointMBeanExportAutoCon
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.Bean;
@@ -69,7 +68,7 @@ public class ZookeeprDiscoveryNonWebAppTests {
clientApplication.setWebEnvironment(false);
try (ConfigurableApplicationContext producerContext = producerApp.run(this.connectionString, "--server.port=0",
"--spring.application.name=hello-world")) {
"--spring.application.name=hello-world", "--debug")) {
try (final ConfigurableApplicationContext context = clientApplication.run(this.connectionString,
"--spring.cloud.zookeeper.discovery.register=false")) {
Awaitility.await().until(new Runnable() {
@@ -91,7 +90,6 @@ public class ZookeeprDiscoveryNonWebAppTests {
@EnableAutoConfiguration(exclude = {EndpointMBeanExportAutoConfiguration.class,
JmxAutoConfiguration.class})
@EnableDiscoveryClient
@Configuration
static class HelloClient {
@LoadBalanced
@@ -108,7 +106,6 @@ public class ZookeeprDiscoveryNonWebAppTests {
@EnableAutoConfiguration(exclude = {EndpointMBeanExportAutoConfiguration.class,
JmxAutoConfiguration.class})
@EnableDiscoveryClient
@RestController
static class HelloProducer {

View File

@@ -5,7 +5,6 @@ import java.util.Collection;
import org.springframework.boot.actuate.autoconfigure.EndpointMBeanExportAutoConfiguration;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.context.embedded.EmbeddedServletContainerInitializedEvent;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.cloud.netflix.feign.EnableFeignClients;
import org.springframework.cloud.netflix.feign.FeignClient;
@@ -26,7 +25,6 @@ import static org.assertj.core.api.BDDAssertions.then;
@Configuration
@EnableAutoConfiguration(exclude = EndpointMBeanExportAutoConfiguration.class)
@Import(CommonTestConfig.class)
@EnableDiscoveryClient
@EnableFeignClients(basePackageClasses = {AliasUsingFeignClient.class, IdUsingFeignClient.class})
public class DependencyConfig {

View File

@@ -13,7 +13,6 @@ import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.cloud.client.loadbalancer.LoadBalancerClient;
import org.springframework.cloud.zookeeper.ZookeeperProperties;
@@ -77,7 +76,6 @@ public class StickyRuleTests {
@Configuration
@EnableAutoConfiguration
@EnableDiscoveryClient
@Profile("loadbalancerclient")
static class Config {

View File

@@ -13,7 +13,6 @@ import org.junit.Ignore;
import org.junit.Test;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.zookeeper.discovery.test.TestRibbonClient;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ConfigurableApplicationContext;
@@ -98,7 +97,6 @@ public class ZookeeperDiscoveryWithDyingDependenciesTests {
}
@Configuration
@EnableDiscoveryClient
@EnableAutoConfiguration
@Import(DependencyConfig.class)
static class Config { }

View File

@@ -12,7 +12,6 @@ import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.cloud.zookeeper.discovery.CustomZookeeperServiceDiscovery;
import org.springframework.cloud.zookeeper.discovery.ZookeeperDiscoveryProperties;
@@ -67,7 +66,6 @@ public class DefaultDependencyWatcherSpringTests {
}
@Configuration
@EnableDiscoveryClient
@EnableAutoConfiguration
@Profile("watcher")
static class Config {

View File

@@ -26,7 +26,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.zookeeper.discovery.ZookeeperDiscoveryProperties;
import org.springframework.cloud.zookeeper.discovery.ZookeeperInstance;
import org.springframework.cloud.zookeeper.discovery.test.CommonTestConfig;
@@ -76,7 +75,6 @@ public class ZookeeperAutoServiceRegistrationTests {
@SpringBootConfiguration
@EnableAutoConfiguration
@EnableDiscoveryClient
@Import({CommonTestConfig.class})
/*@ImportAutoConfiguration({AutoServiceRegistrationAutoConfiguration.class, ZookeeperAutoServiceRegistration.class,
ZookeeperServiceRegistryAutoConfiguration.class})*/

View File

@@ -23,7 +23,6 @@ import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.bind.RelaxedPropertyResolver;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.cloud.client.loadbalancer.LoadBalancerClient;
import org.springframework.cloud.netflix.feign.EnableFeignClients;
@@ -42,7 +41,6 @@ import org.springframework.web.client.RestTemplate;
*/
@Configuration
@EnableAutoConfiguration
@EnableDiscoveryClient
@RestController
@EnableFeignClients
public class SampleZookeeperApplication {