Dubbo 源码分析 --dubbo-config 配置层的套路
1、首先基于spring的自定义标签解析器,或者spring的动态注册器初始化serviceBean和referenceBean到spring工厂中;
2、然后利用spring bean级别生命周期的接口来初始化referenceBean和serviceBean的代理:
(1)referenceBean创建代理的步骤:
入口:referenceBean.afterPropertiesSet
初始化:
referenceBean.afterPropertiesSet()-->referenceBean.getObject()-->ReferenceConfig.get()
-->ReferenceConfig.init()[buildURL -->buildInvoker -->createProxy]
(2)serviceBean创建代理的步骤(数据模型转换Invoker,Exporter):
入口:serviceBean.afterPropertiesSet
初始化:
serviceBean.afterPropertiesSet()-->serviceBean.export()
-->serviceConfig.doExportUrls()-[buildURL -->JavassistProxyFactory.getInvoker()
--> Exporter<?> exporter = PROTOCOL.export(wrapperInvoker)
-->启动nettyServer(dubboProtocol和ThriftProtocol),或者启动webserver(HessianProtocol,HttpProtocol)
]
版权声明: 本文为 InfoQ 作者【jason】的原创文章。
原文链接:【http://xie.infoq.cn/article/f10243c5619845d9e604c3cec】。文章转载请联系作者。
评论