微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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方法,如果是第一次暴露地址就直接记录进注册表,之后再取就通过注册表取就可。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐