2016-05-31 1 views
1

Rabbit MQトランスポートを使用してSpring XD 1.3.1を配布します。単一のSpring XDストリームに複数のタップを定義することができます

Spring XDタップがメトリックでどのように機能するかを明確にしています。 プライマリストリームの各メッセージがアクティブな定義済みタップのそれぞれに送信されるように、1つのストリームを複数回タップできるかどうかを知る必要があります。

シナリオは、モンゴーなどのシンクに配信する前に処理しているウサギのソースを持つストリームです。このストリームは、別のシンクにタップされます。このストリームには、集計カウンタといくつかのフィールド値カウンタを含む複数のメトリックを作成し、合計メッセージとメッセージのメトリックをタイプごとに保持する(JSONの場合はソースメッセージ内の異なるフィールドを調べる)

各タップにメッセージのコピーがあるかどうかは不明です。

テストでは、最初のタップですべてのメッセージが取得されていますが、フィールド値または集計カウンタのいずれもデータを取得していないようです。

答えて

1

はい、ストリームは複数のタップを持つことができます。ここにはexampleがあります。内部的には、XDはメッセージバスをbind to a pub-sub resource(トランスポートに依存)に使用します。たとえば、Rabbit MQトランスポートを使用すると、ストリーム内の潜在的なタップポイントごとにファンアウト交換がcreatedになります。その交換機にキューをバインドすることは遅延的に、すなわちタップストリームが作成されたときに実行される。 Rabbit管理コンソールの各タップの対応する交換とキューバインディングが表示されます。

すべてのタップでメッセージが表示されない理由はわかりません。タップは常に展開する必要があります(ターゲットストリームが作成された後、ターゲットストリームが展開される前に)、タップが展開される前のストリーム内のデータはタップで消費されません。

関連する問題