群組聚合
依群組彙總結果並返回彙總結果
功能說明
依群組彙總結果並返回彙總結果,例如選單服務,使用群組區分同一介面的多個實現,現在消費者需要從每個群組呼叫一次並返回結果,並在合併後返回結果,這樣您就可以實現彙總的選單項。
相關程式碼請參考 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)