Dubbo扩展SPI
2021-04-08 10:30:21 0 举报
Dubbo扩展SPI工作流程
作者其他创作
大纲/内容
createAdaptiveExtension
createExtension
getExtensionLoader
generateMethodContent
createAdaptiveExtensionClass
getExtension
org.apache.dubbo.common.extension.ExtensionLoader
业务逻辑实现
loadClass
loadExtensionClasses
withExtensionAnnotation
Adaptive功能实现原理
generateMethodArguments
cachedAdaptiveInstance
org.apache.dubbo.common.extension.ExtensionFactory
org.apache.dubbo.common.extension.factory.SpiExtensionFactory
Dubbo扩展点SPI
initExtension
loadDirectory
getAdaptiveExtensionClass
getAdaptiveExtension
generateMethod
putIfAbsent
getSupportedExtensions
injectExtension
cacheDefaultExtensionName
加载默认扩展的实现名称
业务逻辑
根据name获取扩展点实现
获取扩展点加载器,并加载所对应的所有的扩展点实现
org.apache.dubbo.common.extension.AdaptiveClassCodeGenerator
获取支持的扩展信息
loadResource
从文件夹中寻找文件列表,对文件内容解析并放入到 extensionClasses Map
完成类的映射
generateMethodThrows
读取文件
生成代码
getOrCreateHolder
获取当前类的Holer
用双重检查加载扩展类信息
org.apache.dubbo.common.extension.factory.AdaptiveExtensionFactory
generate
org.apache.dubbo.config.spring.extension.SpringExtensionFactory
getExtensionClasses
收藏
收藏
0 条评论
下一页