服務在本地發布完成,那麼接下去要進入服務的註冊階段:
final registry registry = getregistry(origininvoker);
final url registeredproviderurl = geturltoregistry(providerurl, registryurl);
// decide if we need to delay publish
boolean register = providerurl.getparameter(register_key, true);
if (register)
其中 getregistry 主要是獲取到乙個註冊器的實現,**如下
protected registry getregistry(final invoker> origininvoker)
private void register(url registryurl, url registeredproviderurl)
這裡跟上面一樣的邏輯,然後一定要走 zookeeperregistry#register ,但是本類中也未實現 ,走父類 failbackregistry#register
public void register(url url)
// 呼叫父類註冊,快取新增
super.register(url);
removefailedregistered(url);
removefailedunregistered(url);
try catch (exception e)
throw new illegalstateexception("failed to register " + url + " to registry " + geturl().getaddress() + ", cause: " + t.getmessage(), t);
} else
// record a failed registration request to a failed list, retry regularly
// 失敗重試
Dubbo原始碼閱讀 三 Dubbo 服務註冊
通過註解來註冊dubbo服務的時候,在服務端和消費端都需要用到乙個元件dubbocomponentscanregistrar,先看下registerbeandefinitions 方法 public void registerbeandefinitions annotationmetadata im...
Dubbo原始碼剖析三之服務註冊過程分析
dubbo原始碼剖析二之註冊中心 池塘裡洗澡的鴨子 cnblogs.com 中對註冊中心進行了簡單的介紹,對dubbo整合zookeeper鏈結原始碼進行了詳細分析。本文接著對服務註冊過程原始碼進行分析。借圖說明服務註冊 暴露 流程 利用之前案例跟蹤除錯分析上述流程的實現,或者驗證該流程 2 然後通...
Dubbo原始碼分析
dubbo原始碼分析 其實已經有很多比較好的原始碼分析部落格,結合部落格和開發經驗再去分析原始碼,就能對dubbo的實現有個整體全面的理解,也能深入去深究其中的具體實現細節。dubbo裡主要用到的spi service provider inte ce netty nio 同步非阻塞多路復用框架,d...