Dubbo3 分組聚合

2022-03-30 17:13 更新

通過分組對結果進行聚合并返回聚合后的結果

通過分組對結果進行聚合并返回聚合后的結果,比如菜單服務,用group區(qū)分同一接口的多種實現(xiàn),現(xiàn)在消費方需從每種group中調用一次并返回結果,對結果進行合并之后返回,這樣就可以實現(xiàn)聚合菜單項。

相關代碼可以參考 dubbo 項目中的示例

配置

搜索所有分組

<dubbo:reference interface="com.xxx.MenuService" group="*" merger="true" />

合并指定分組

<dubbo:reference interface="com.xxx.MenuService" group="aaa,bbb" merger="true" />

指定方法合并結果,其它未指定的方法,將只調用一個 Group

<dubbo:reference interface="com.xxx.MenuService" group="*">
    <dubbo:method name="getMenuItems" merger="true" />
</dubbo:reference>

某個方法不合并結果,其它都合并結果

<dubbo:reference interface="com.xxx.MenuService" group="*" merger="true">
    <dubbo:method name="getMenuItems" merger="false" />
</dubbo:reference>

指定合并策略,缺省根據返回值類型自動匹配,如果同一類型有兩個合并器時,需指定合并器的名稱

提示
參見:合并結果擴展
<dubbo:reference interface="com.xxx.MenuService" group="*">
    <dubbo:method name="getMenuItems" merger="mymerge" />
</dubbo:reference>

指定合并方法,將調用返回結果的指定方法進行合并,合并方法的參數(shù)類型必須是返回結果類型本身

<dubbo:reference interface="com.xxx.MenuService" group="*">
    <dubbo:method name="getMenuItems" merger=".addAll" />
</dubbo:reference>
提示
2.1.0?版本開始支持


以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號