開發與維運

Dubbo源码Debug-Spi解析

image.png
ExtensionLoader

image.png
ExtensionLoader的静态成员变量

image.png
获取ExtensionLoader的条件和存储HashMap

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

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

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

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

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

Leave a Reply

Your email address will not be published. Required fields are marked *