8

そこで、いくつかのドキュメントを読み、ここで皆さんから多くの助けを得た後、最終的にエンドポイントを動的に選択する受信者リスト (動的受信者リスト) を実装しました。

私のコードでは、MainApp_A は 10 秒ごとにレポートを生成します。レポートを 1 つずつ送信するのではなく、すべてのサーバーに同時に送信する必要があります。したがって、私は次のルートを開発しました。

MainApp_A

main.addRouteBuilder(new RouteBuilder(){
    @Override
        public void configure() throws Exception {
            from("direct:start").multicast().parallelProcessing()
                .beanRef("recipientListBean", "route").end()
            .log("${body}");
        }
});

RecipientListBean

@RecipientList
public Set<String> route(String body) {
        return servers; //returns a collection of several severs
}

マルチキャスト パターンと動的ルートのドキュメントも確認しました。

今、いくつか質問があり、混乱しています。だから私はいくつかの質問があります:

  1. 受信者のダイナミック リストは、単にマルチキャスト パターンとダイナミック ルート パターンの接合部ですか?
  2. multicast() 呼び出しだけでは、純粋にシーケンシャルですよね? multicast() と recipientList() の使用の違いは何ですか?
  3. multicast() と recipientList() の両方を一致させるには、parallelProcessing() を使用する必要があります。私の場合、どちらがより効率的ですか?
4

1 に答える 1