Dubbo2.7源码详解

Spring与Dubbo整合原理与源码分析

【1】注解@EnableDubbo

【2】注解@EnableDubboConfig

1)DubboConfigConfigurationRegistrar类的作用

2)registerBeans做了什么

3)DubboConfigConfiguration类展示

4)那么必然又会解析到@EnableDubboConfigBindings注解

5)registrar.registerBeanDefinitions方法的调用情况

6)单个DubboConfigBindingBeanPostProcessor的展示(删减掉部分不怎么用到的)

【3】注解@DubboComponentScan

1)导入的DubboComponentScanRegistrar类做了什么

【4】扫描@Service注解,并且进行处理

汇总说明:实际上便是通过处理器扫描@Service注解的类,生成两个Bean【类对应的普通Bean,与Dubbo中要用到的ServiceBean】

其中ServiceBean,是先根据注解上的信息填充对应的属性,后采用环境变量中获取配置的属性,来完成属性填充。

【5】扫描@Reference注解,并且进行处理

1)ReferenceAnnotationBeanPostProcessor类会被调用是基于继承关系

2)ReferenceAnnotationBeanPostProcessor中的方法

【6】图示:

Dubbo服务导出

【0】服务导出要做的几件事情:

【1】核心点记录

【2】ServiceBean是怎么进程服务导出的

1)ServiceConfig类#export()方法

2)方法1:ServiceConfig类#checkAndUpdateSubConfigs()方法

3)方法1.1,AbstractInterfaceConfig类#startConfigCenter()方法

4)方法1.2,AbstractInterfaceConfig类#refresh()方法

5)方法2,ServiceConfig类#doExport()方法

6)doExportUrlsFor1Protocol方法

7)protocol.export的调用

8)doLocalExport方法

9)当数据发生改变时 OverrideListener 监听者的处理

【3】汇总

Dubbo服务引入

【0】核心点记录

【1】服务要怎么引入(ReferenceConfig类#get()方法)

【2】检查并拿到最新配置(ReferenceConfig类#checkAndUpdateSubConfigs()方法)

【3】初始化生成代理对象(ReferenceConfig类#init()方法)

【4】生成代理对象(ReferenceConfig类#createProxy()方法)

【5】PROXY_FACTORY.getProxy等过程

【6】对URL的处理过程

1)从@Reference的url属性中配置多个url,然后采用字符串分割的形式拿出来,包装后塞入urls列表中

2)加载注册中心地址

【7】invoker的包装过程

1)前置说明

2)先是调用 REF_PROTOCOL.refer

3)再是调用CLUSTER.join

【8】RegistryProtocol里面的监听过程

【9】监听器触发时

Original: https://www.cnblogs.com/chafry/p/16795441.html
Author: 忧愁的chafry
Title: Dubbo2.7源码详解

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/800694/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球