dubbo原始碼之Adaptive註解

2021-07-27 17:48:00 字數 622 閱讀 5410

一、原始碼

@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呼叫過程中...