群組聚合

依群組彙總結果並返回彙總結果

功能說明

依群組彙總結果並返回彙總結果,例如選單服務,使用群組區分同一介面的多個實現,現在消費者需要從每個群組呼叫一次並返回結果,並在合併後返回結果,這樣您就可以實現彙總的選單項。

相關程式碼請參考 dubbo 專案中的範例

使用場景

服務分組與多版本

使用方法

搜尋所有群組

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

合併指定群組

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

指定方法合併

合併指定方法的結果,其他未指定的方法只會呼叫一個群組

<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>

指定合併策略

指定合併策略,預設會根據返回值類型自動匹配,如果存在兩個相同類型的合併器,則需要指定合併器的名稱 [合併結果擴充](../../../reference-manual/spi/ description/merger)

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

指定合併方法

指定合併方法來合併指定方法返回的呼叫結果。合併方法的參數類型必須是返回值類型本身

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

提示

2.1.0 版本開始支援


上次修改時間:2023 年 1 月 2 日:增強英文文件 (#1798) (95a9f4f6c1c)