Dubbo-Spi
2019-08-02 21:40:54 0 举报
Dubbo-Spi
作者其他创作
大纲/内容
首先检查缓存,缓存未命中则创建拓展对象
先检查缓存,若缓存未命中,则通过 synchronized 加锁。加锁后再次检查缓存,并判空。此时如果 classes 仍为 null,则通过 loadExtensionClasses 加载拓展类。
ExtensionLoader.getExtension()
loadExtensionClasses 加载拓展类
loadDirectory加载指定文件的配置文件
loadClass
获取拓展类对象
获取所有拓展类:getExtensionClasses().get(name)
ExtensionLoader.getExtensionLoader()
loadResource 方法加载资源
获取ExtensionLoader实例
createExtension(String name)
一是对 SPI 注解进行解析,二是调用 loadDirectory 方法加载指定文件夹配置文件。
getExtensionLoader 方法用于从缓存中获取与拓展类对应的 ExtensionLoader,如果没有命中就创建一个新的对象
0 条评论
下一页