Dubbo原始碼閱讀 三 Dubbo 服務註冊

2021-10-19 21:00:15 字數 1435 閱讀 8521

通過註解來註冊dubbo服務的時候,在服務端和消費端都需要用到乙個元件dubbocomponentscanregistrar,先看下registerbeandefinitions()方法:

public

void

registerbeandefinitions

(annotationmetadata importingclassmetadata, beandefinitionregistry registry)

dubbocomponentscanregistrar#registerserviceannotationbeanpostprocessor

private

void

registerserviceannotationbeanpostprocessor

(set

packagestoscan, beandefinitionregistry registry)

我們來看下 serviceannotationbeanpostprocessor的繼承關係:

private

void

registerservicebeans

(set

packagestoscan, beandefinitionregistry registry)

if(logger.

isinfoenabled()

) were scanned under package["

+ packagetoscan +

"]");}

}else}}

}

我們就來看下dubboclasspathbeandefinitionscanner#doscan

public set

doscan

(string.

.. basepackages)

serviceannotationbeanpostprocessor#buildservicebeandefinition()方法中有個beandefinitionbuilder builder = rootbeandefinition(servicebean.class);進去看下:

public

static beandefinitionbuilder rootbeandefinition

(class<

?> beanclass, string factorymethodname)

public

void

(contextrefreshedevent event)

// 暴露服務

export();}}

soul原始碼閱讀(三) 啟動dubbo服務

工作台列印出一下日誌,說明duboo服務被註冊到soul admin中 2021 01 16 14 55 38.781 info 19172 pool 1 thread 1 o.d.s.client.common.utils.registerutils dubbo client register s...

《原始碼閱讀》原始碼閱讀技巧,原始碼閱讀工具

檢視某個類的完整繼承關係 選中類的名稱,然後按f4 quick type hierarchy quick type hierarchy可以顯示出類的繼承結構,包括它的父類和子類 supertype hierarchy supertype hierarchy可以顯示出類的繼承和實現結構,包括它的父類和...

讀dubbo原始碼筆記(三)

現在看 核心的 serviceconfig url 在服務提供者暴露乙個服務的詳細過程 講解的很清楚 服務提供者暴露乙個服務 這些 基本上都是在 serviceconfig 完成 過程是 export doexport doexporturls export 方法 主要是 解決立即doexport還...