##該註解包含了如下內容
其中@import(eurekaservermarkerconfiguration.class)
現在怎麼下手,上面的**已經結束了。。。
經過查詢資料發現入口
在jar\spring-cloud-netflix-eureka-server-2.2.2.release.jar的manifest.mf資料夾下的spring.factories定義了bean實體物件springboot啟動時會去例項化該類
@import(eurekaserverinitializerconfiguration.class)(核心啟動類)
@conditionalonbean(eurekaservermarkerconfiguration.marker.class)(這裡有個前置條件,發現了前面**的作用)
@enableconfigurationproperties()
@propertysource(「classpath:/eureka/server.properties」)
該類啟動了乙個執行緒(eurekaserverinitializerconfiguration 實現了smartlifecycle.start方法,在spring 初始化的時候,會被呼叫),用來載入配置及啟動eureka的服務端和發布監聽事件
其中方法**eurekaserverbootstrap.contextinitialized(··)**看
initeurekaenvironment();初始化環境變數
initeurekaservercontext();初始化服務上下文,並註冊所有的監聽事件
拋開spring的封裝看看eureka是如何初始化的
/**
* init hook for server context. override for custom logic.
*/protected
void
initeurekaservercontext()
throws exception
else
//初始化註冊資訊類
peerawareinstanceregistry registry;if(
isaws
getinfo()
))else
//初始化節點
peereurekanodes peereurekanodes =
getpeereurekanodes
( registry,
eurekaserverconfig,
eurekaclient.
geteurekaclientconfig()
, servercodecs,
);//初始化上下文
servercontext =
newdefaulteurekaservercontext
( eurekaserverconfig,
servercodecs,
registry,
peereurekanodes,
); eurekaservercontextholder.
initialize
(servercontext)
; servercontext.
initialize()
; logger.
info
("initialized server context");
//從鄰近的eureka節點複製登錄檔
// copy registry from neighboring eureka node
int registrycount = registry.
syncup()
; registry.
openfortraffic
;// 註冊所有監控統計資訊
// register all monitoring statistics.
eurekamonitors.
registerallstats()
;}
是不是很清楚了,,,,
至此服務端分析完成…
Eureka原始碼系列 2 原始碼啟動入口
本文介紹如何搭建eureka原始碼的debug環境,網上有一些部落格抄來抄去,抄錯了都不知道。eureka server模組下有乙個測試類 eureka server src test j a com netflix eureka resources eurekaclientserverrestin...
Eureka 原始碼解析
color red b eureka 原始碼解析 應用例項註冊發現 二 之續租 b color url eureka原始碼解析 eureka client 初始化 一 之 eurekainstanceconfig url eureka 原始碼解析 eureka client 初始化 二 之 eure...
Zookeeper 原始碼分析 啟動
本文主要介紹了zookeeper啟動的過程 執行zkserver.sh start命令可以啟動zookeeper。入口的main函式在類中quorumpeermain。main函式主要呼叫了runfromconfig函式,建立了 quorumpeer物件,並且呼叫了start函式,從而啟動了zook...