discovery模块
spring-cloud-consul-discovery模块下实际有 serviceregistry 和 discovery 两大块。
自动装配
META-INF/spring.factories
的内容:
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
org.springframework.cloud.consul.discovery.RibbonConsulAutoConfiguration,\
org.springframework.cloud.consul.discovery.configclient.ConsulConfigServerAutoConfiguration,\
org.springframework.cloud.consul.serviceregistry.ConsulAutoServiceRegistrationAutoConfiguration,\
org.springframework.cloud.consul.serviceregistry.ConsulServiceRegistryAutoConfiguration
# Discovery Client Configuration
org.springframework.cloud.client.discovery.EnableDiscoveryClient=\
org.springframework.cloud.consul.discovery.ConsulDiscoveryClientConfiguration
org.springframework.cloud.bootstrap.BootstrapConfiguration=\
org.springframework.cloud.consul.discovery.configclient.ConsulDiscoveryClientConfigServiceBootstrapConfiguration
需要自动装配的内容有:
- discovery.RibbonConsulAutoConfiguration: 给ribbon用的
- discovery.ConsulConfigServerAutoConfiguration
- serviceregistry.ConsulAutoServiceRegistrationAutoConfiguration
- serviceregistry.ConsulServiceRegistryAutoConfiguration
然后还有定义的 Discovery Client Configuration:
- ConsulDiscoveryClientConfiguration
- ConsulDiscoveryClientConfigServiceBootstrapConfiguration