from("direct:processRequest").multicast(aggregationStrategy).parallelProcessing().
to("bean:abcService?method=getProductInfo",
"bean:xyzService?method=getProductInfo").end().
to("bean:transformerBean");
とキャメルRECIPIENTLIST /マルチキャスト上記のルートは完璧に動作しますが、私は動的URL to(..)
内部を使用します。その結果によって集約戦略
私を次のように私のルートを変更:
ルート:
from("direct:processRequest").multicast(aggregationStrategy).parallelProcessing().
bean(RecipientListBean.class).end().
to("bean:transformerBean");
RecipientListBean.java:
@Component
public class RecipientListBean {
@RecipientList
public String[] route(@Header("countryCode") String countryCode) {
if (StringUtils.equalsIgnoreCase(countryCode, "IN")) {
return new String[]{"bean:xyzService?method=getProductInfo",
"bean:abcService?method=getProductInfo"};
} else {
return new String[]{"bean:xyzService?method=getProductInfo"};
}
}
}
ここでは動作しますが、アグリゲーションが機能していません。
動的URIにtoDを使用する –
'toD'は複数のURIを取得しますか?私の場合、1つ以上のBeanコンポーネントを呼び出さなければなりません@ ClausIbsen –
そのエンドポイントはありません。 –