Remove @EnableDiscoveryClient as it is optional (#147)
* Remove `@EnableDiscoveryClient` as it is optional. Fixes #146.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 { }
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
|
||||
@@ -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 { }
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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})*/
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user