最新文章

Spring Cloud - Eureka Client源码分析

Spring Cloud - Eureka Client源码分析

准备做个Spring Cloud源码分析系列, 作为Spring Cloud的源码分析笔记.

这一篇是Eureka的客户端.

客户端

两种方式, 最终的实现基本一样.

显示指定服务发现的实现类型

使用@EnableEurekaClient注解显示的指定使用Eureka作为服务发现的实现, 并实例化EurekaClient实例. 实际上使用的是@EnableDiscoveryClient注解.

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@EnableDiscoveryClient
public @interface EnableEurekaClient {

}

动态配置实现

使用@EnableDiscoveryClient注解来配置服务发现的实现.

源码分析

EnableDiscoveryClient

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@Import(EnableDiscoveryClientImportSelector.class)
public @interface EnableDiscoveryClient {

}

EnableDiscoveryClient注解的作用主要是用来引入EnableDiscoveryClientImportSelector

EnableDiscoveryClientImportSelector