私自身の実験に基づいて (これはどこにも文書化されていません)、同じ相関 ID とシーケンス番号を持つ 2 つのメッセージの場合、アグリゲーターは最初のメッセージのみを取得し、他のメッセージを破棄/無視します。
代わりに最後に受信したメッセージをアグリゲータに使用させる方法はありますか?
集約により、ペイロードが 1 つの文字列にマージされます。
単純なシナリオ: 相関 ID が同じでシーケンス サイズが 2 の 3 つのメッセージを受信時間順に並べたもの
- シーケンス番号: 1; ペイロード: abc
- シーケンス番号: 1; ペイロード: デフ
- シーケンス番号: 2; ペイロード: ghi
現在の出力: abcghi
期待される出力: defghi
このシナリオは、最初のメッセージ用のシーケンス番号 2 が欠落している場合に発生します。また、相関 ID (デコードされたペイロードから取得) は非常に限られているため、複数回使用されます。
オリジナルメッセージ
生のメッセージは次の形式で送信されます。
- 「配列サイズ」、「配列番号」、「ID」、「テキスト」
- ID の範囲は 0 ~ 9 です
- メッセージの例: 2,1,8,abc
生メッセージのペイロードの例:
- 2,1,8,abc
- 2,1,8,定義
- 2,2,8,ギ
アグリゲーターは基本的にテキストを結合します