DubboProtocol 調用入口
在第四篇博文中說到ServiceBean 通過protocal.export方法來發布服務。
那麼ServiceBean是怎麼調用到protocal?且又是怎麼決定採用的是那個實現類呢?下面我們來看一下在ServiceConfig中對protocal對象的聲明
private static final Protocol protocol = ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension();
ExtensionLoader 的實現原理會有新的博文來說明
通過Debug發現當配置dubbo協議的時候返回的是DubboProtocol
DubboProtocol 源碼解析
首先我們來看一下該類的繼承關係
可以發現Protocol有很多針對不通協議的實現
ServiceBean會通過Protocol接口的引用調用到DubboProtocol的export方法
DubboProtocol的export方法解析
經過調用關係和整理框架的分析
接下來步入正題,讓我們來看一下export的實現原理