Dubbo源码Debug-Spi解析

ExtensionLoader

Dubbo源码Debug-Spi解析_第1张图片

ExtensionLoader的静态成员变量

Dubbo源码Debug-Spi解析_第2张图片

获取ExtensionLoader的条件和存储HashMap

Dubbo源码Debug-Spi解析_第3张图片

必须是加了@SPI注解的接口

Dubbo源码Debug-Spi解析_第4张图片

获取激活扩展,必须是打了@Activate的接口或方法

Dubbo源码Debug-Spi解析_第5张图片

总结:1、Dubbo的Spi机制是通过ExtensionLoader的静态成员变量存储每个加了@SPI注解的接口生成ExtensionLoader实例存储concurrentHashMap中。

2、加了SPI注解的接口有:ProxyFactory、Protocol、Cluster、Filter、Exchanger、AdaptiveExtensionFactory、RegistryFactory…

3、过程主要包括加载左右的资源文件信息、Inject、Wrapper、Filter过程(注入Ioc和Aop见另外两篇文章解析)。

你可能感兴趣的:(DUBBO)