美文网首页
Dubbo源码研究

Dubbo源码研究

作者: 洪阿南 | 来源:发表于2017-07-10 20:21 被阅读36次

一、Dubbo服务暴露前奏

读取解析Spring Bean,<dubbo:service ... />的解析利用的是Spring可扩展的schema机制。

Spring的可扩展schema机制允许用户自定义标签,并配置自定义标签的处理器NamespaceHandler处理标签配置,比如初始化组件等。Spring中与这个机制相关的类是NamespaceHandlerSupport.java。大家在配置<dubbo:service... />时需要在配置文件上面的<beans>标签头中引入xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"的标签申明,在dubbo包的META-INF中可以找到一个叫spring.handlers的文件,其中指定了dubbo标签对应的处理器:

http\://code.alibabatech.com/schema/dubbo=com.alibaba.dubbo.config.spring.schema.DubboNamespaceHandler

好了,入口已经找到,就是DubboNamespaceHandler了,DubboNamespaceHandler中逻辑很简单,new了好几个DubboBeanDefinitionParser,产生了ServiceBean的BeanDefinition定义。ServiceBean实现了spring的ApplicationListener接口,在该接口的实现方法onApplicationEvent中调用了export()方法。

二、Dubbo服务暴露

    ServiceBean#export()
                        #doExport()
                        #doExportUrls()
                        #doExportUrlsFor1Protocol()  (如果是多个协议则分别调用)

相关文章

网友评论

      本文标题:Dubbo源码研究

      本文链接:https://www.haomeiwen.com/subject/assuhxtx.html