問題タブ [spring-integration-dsl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
244 参照

spring-integration - 次のメッセージの内容に基づく Spring Integration アグリゲーター

ファイルを読み取って各行を分割し、最初の列に基づいて行をグループ化する必要があります。最初の列の値が変更されたら、前のグループを解放する必要があります。これは Spring 統合 DSL で実行できますか?

ファイルは次のように表示され、並べ替えられます。

出力は、x = 1, 2, 3 と y = 4, 5, 6 の 2 つのメッセージである必要があります。これには他の関係がないため、メッセージをグループ化するタイミングに関して、ヒットしたらすぐにメッセージをグループ化できますか?次の一致しないレコードは? この場合、行番号 4 で「y」を押すと、前の「x」メッセージをグループ化して解放しますか? カスタムアグリゲーターを使用することは可能ですか?

0 投票する
1 に答える
671 参照

spring - メッセージ ハンドラーに CountDownLatch を設定するため、adviceChain を StandardIntegrationFlow に追加します。

と を介して Spring IntegrationCountDownLatchに をに追加しようとしています。この理由は、この統合フロー内のメッセージ ハンドラーが呼び出され、その作業が終了したかどうかを監視するためです。org.springframework.integration.dsl.StandardIntegrationFlowadviceChainBeanFactoryPostProcessor

ここに Spring Integration の Java DSL を使用しないソリューションがあります: spring-integration unit test outbound-channel adapter。しかし残念ながら、Java DSL とStandardIntegrationFlow. Gary Russels のソリューションは次のようになります: https://gist.github.com/garyrussell/5481779。これを試みる私の例外は次のとおりです。

統合フローは次のようになります。

パーツにを追加する必要があるためCountDownLatch.handle()ハンドラが作業を終了したかどうかをラッチに問い合わせることができます。

これを達成する方法はありますか?