dubbo學習筆記 二 dubbo中的filter

2022-03-05 13:23:09 字數 1955 閱讀 5558

dubbo框架提供了filter機制的擴充套件點(本文基於dubbo2.6.0版本)。

在dubbo-rpc模組下的dubbo-rpc-api模組下定義了filter介面:org.apache.dubbo.rpc.filter

dubbo框架自帶了22個filter。

在dubbo-rpc-api模組提供了15個filter:

accesslogfilter

activelimitfilter

classloaderfilter

compatiblefilter

consumercontextfilter

contextfilter

deprecatedfilter

echofilter

exceptionfilter

executelimitfilter

genericfilter

genericimplfilter

timeoutfilter

tokenfilter

tpslimitfilter

dubbo-rpc-default模組提供了2個filter:

futurefilter

tracefilter

dubbo-filter模組有2個子模組,提供了2個filter:

dubbo-filter-cache提供了1個filter:cachefilter

dubbo-filter-validation提供了1個filter:validationfilter

dubbo-test-examples提供了1個filter:

logfilter

dubbo-spring-config提供了1個filter:

mockfilter

dubbo-monitor-api提供了1個filter:

monitorfilter

provider端:

consumer端:

系統自帶的filter,上面的圖可以可以看到,

provider端:echofilter->classloaderfilter->genericfilter->contextfilter->tracefilter->timeoutfilter->monitorfilter->exceptionfilter

consumer端:consumercontextfilter->futurefilter->monitorfilter

@active註解定義了filter的位置和順序,其中group屬性定義了該filter用於provider或consumer端,order屬性定義了filter的絕對順序(數值小的排在前面)。

echofilter為例

@activate(group = constants.provider, order = -110000)

public class echofilter implements filter

表示在provder端使用,絕對順序為-110000。

classloaderfilter

@activate(group = constants.provider, order = -30000)

public class classloaderfilter implements filter

表示在provder端使用,絕對順序為-30000,值比-110000大,因此在echofilter的後面呼叫。

回聲測試。

異常處理。

參考:

DUBBO學習筆記

1 該例子是spring整合dubbo,spring包有點問題 2 3 springboot整合dubb,可以執行 2 zookeeper安裝 1 server.port 8082 5 dubbo是面向介面呼叫的,該介面被實現後註冊到zookeeper上 spring配置檔案中配置了zookeepe...

dubbo學習筆記

dubbo整合spring boot的官網位址為 dubbo 當我發現了這個位址後,我當即動手實踐,新建了工程,迅速搭起了程式的框架。我首先做的是用xml的配置檔案的方式進行配置 避免上次一做就是spring boot框架,在當時的環境下,jar的依賴關係複雜,以致最後以失敗而告終 xml的方式雖然...

DUBBO學習筆記

1 windows上啟動zookeeper失敗的原因 1.執行zkserver.com的時候新增了 start引數,在windows上不需要改引數,直接啟動即可 2.datadir e software zookeeper 3.3.6 data 沒有設定,設定上即可 3.datalogdir e s...