0

を縛っ得ていない私はここに、基本的な何かが欠けているかなり確信しているSpring Cloudのデータフロー|私はこのトポロジを使用してフロー作成した</p> <p>を::ウサギMQ交換は

Aを| B | C

これはのapplication.propertiesある:

spring.cloud.stream.bindings.requestChannel.destination=events-exchange 

これはBのapplication.propertiesある:

spring.cloud.stream.bindings.input.destination=events-exchange 

CはOOTBログシンクアプリです。

この設定では、A | Bは正常ですが、Cはログを取得していません。 Bは正しい交換機にメッセージを配送しているが、B | Cは互いに素である。

デプロイ時に上記のプロパティを提供していないことに注意してください。 jarファイル内の静的なapplication.propertiesです。

SCDFにアプリを正しく参加させるにはどうすればよいですか?これに関するベストプラクティス/推奨アプローチは何ですか?私たちには、Rabbit Middlewareを使用して結合する必要のある多くのアプリがあり、よりシンプルで誤りの少ないアプローチを探しています。ありがとう。

+0

こんにちは、 Bの 'outbound'とCの' inbound'のバインディング先は何ですか? CがOOTB log appの場合、ログの 'spring.cloud.stream.bindings.input.destination'ポイントはBの出力(' spring.cloud.stream.bindings。 .destination 'はバインドされていますか? –

+0

Bのアウトバウンドは' spring.cloud.stream.bindings.output.destination = work.out'です。 – user1189332

+0

Cには 'spring.cloud.stream.bindings.input.destination = work.out'がありますか? –

答えて

0

Bの出力をwork.outに設定した場合は、Cの入力もオーバーライドする必要があります。 Spring Cloud Data Flowが行うことは、隣接するアプリケーションの入力と出力の両方を共通の値(ストリーム/アプリケーション名から導出)に設定することです。そのうちの1つを上書きしている場合は、気づいたとおりにアプリが切断されます。将来のより良い方法で中間的な宛先をオーバーライドすることをサポートするつもりはありますが、A | B | Cinput/outputのSpring Cloud Data Flowへのバインディングの制御をrelincushすることに依存しています(それを上書きすることはできますが、気づいたとおり、終了)。途中で目的地の名前を変更する代わりに、名前付き宛先:http://docs.spring.io/spring-cloud-dataflow/docs/current/reference/html/spring-cloud-dataflow-stream-explicit-destination-names.htmlを使用することができます。

関連する問題