Dubbo服务提供者暴露服务流程

1.首先在dubboNamespaceHandler中配置标签解析器,解析标签之后,每个标签对应一个config配置类进行解析。
2.解析serviceBean的时候com.alibaba.dubbo.config.spring.ServiceBean#onApplicationEvent方法调用了export方法调用了com.alibaba.dubbo.config.ServiceConfig#doExport方法,一路调用到了com.alibaba.dubbo.config.ServiceConfig#doExportUrlsFor1Protocol方法,D:/apache-maven-3.6.3/repository/com/alibaba/dubbo/2.6.2/dubbo-2.6.2-sources.jar!/com/alibaba/dubbo/config/ServiceConfig.java:513在此创建了代理对象,调用了协议池的export方法
3.共两个地方实现了Protocol接口,并重写了export方法:分别为com.alibaba.dubbo.rpc.protocol.dubbo.dubboProtocol、com.alibaba.dubbo.registry.integration.RegistryProtocol。
dubboProtocol类的export方法调用com.alibaba.dubbo.rpc.protocol.dubbo.dubboProtocol#openServer,开启服务器。
在RegistryProtocol类的export方法调用com.alibaba.dubbo.registry.support.ProviderConsumerRegTable#registerProvider方法,如果是第一次暴露地址就直接记录进注册表,之后再取就通过注册表取就可。

相关文章

在网络请求时,总会有各种异常情况出现,我们需要提前处理这...
作者:宇曾背景软件技术的发展历史,从单体的应用,逐渐演进...
hello,大家好呀,我是小楼。最近一个技术群有同学at我,问我...
 一个软件开发人员,工作到了一定的年限(一般是3、4年左右...
当一个服务调用另一个远程服务出现错误时的外观Dubbo提供了多...
最近在看阿里开源RPC框架Dubbo的源码,顺带梳理了一下其中用...