一、原始碼
@documented
@retention(retentionpolicy.runtime)
@target()
public @inte***ce
adaptive ;
}
二、adaptive相關類的載入:
呼叫extensionloader類的loadfile()掃瞄介面實現類時,如果類上有adaptive 註解則將類的class物件快取到cachedadaptiveclass。然後在呼叫getadaptiveextension方法時,如果cachedadaptiveclass不為空,則返回快取否則呼叫createadaptiveextensionclasscode方法生成擴充套件類。
在生成時校驗類中是否有加adaptive註解的方法,如果沒有則丟擲異常,如果有則完成擴充套件類的生成。生成完後呼叫adaptivecompiler(adaptivecompiler是compiler的擴充套件)的compile()方法完成生成的擴充套件類的載入。
三、涉及的設計模式
1、裝飾模式
dubbo原始碼 dubbo之Listener
1.exporterlistener spi public inte ce exporterlistener 使用者可以繼承該方法重寫需要的方法 public abstract class exporterlisteneradapter implements exporterlistener pub...
dubbo原始碼之框架架構
一 模組說明 dubbo common 公共邏輯模組,包括util類和通用模型。dubbo remoting 遠端通訊模組,相當於dubbo協議的實現,如果rpc用rmi協議則不需要使用此包。dubbo rpc 遠端呼叫模組,抽象各種協議,以及動態 只包含一對一的呼叫,不關心集群的管理。dubbo ...
Dubbo原始碼解析之LoadBalance負載均衡
dubbo一共支援四種負載均衡策略,roundrobinloadbalance 輪詢 randomloadbalance 隨機 leastactiveloadbalance 最少活躍 consistenthashloadbalance 一致性雜湊 預設為隨機策略,我門在分析consumer呼叫過程中...