1. 程式人生 > >dubbo原始碼學習(二)dubbo容器啟動流程簡略分析

dubbo原始碼學習(二)dubbo容器啟動流程簡略分析

dubbo版本2.6.3

繼續之前的dubbo原始碼閱讀,從com.alibaba.dubbo.container.Main.main(String[] args)作為入口

簡單的資料一下啟動的流程

1、com.alibaba.dubbo.container.Main.main(String[] args)呼叫

2、載入容器

3、容器遍歷,分別start()

4、啟動結束

 

2步驟中的容器載入比較複雜,下面有詳細的流程圖,最好對著原始碼看,不然會容易暈

1、ExtensionLoader.getExtension(name)

2、instance = createExtension(name);

3、Class<?> clazz = getExtensionClasses().get(name);

4、EXTENSION_INSTANCES.putIfAbsent(clazz, clazz.newInstance());
5、instance = (T) EXTENSION_INSTANCES.get(clazz);

6、instance.start();