大規模な入力ファイルが多数の個々のファイルにバーストされ、Spring統合アグリゲータを使用して集約されるSpring統合プロジェクトがあります。最後のレコードフィルタを使用した場合のSpring統合アグリゲータ
パイプラインには、不要な個々のファイルをフィルタリングする多数のフィルタがあります。相関関係のある入力ファイルごとにフィルタリングされたファイルの数を追跡します。私たちの@ReleaseStrategyは、個々のファイルの数からフィルタリングされた個々のファイルの数を引いた値を受け取ったかどうかを調べます。
処理される最後の個々のファイルが、私たちのReleaseStrategyに当たる前にフィルタリングされるとどうなりますか?最後の個々のファイルがフィルタリングされていれば、私は再びポーリングされませんが、Springがこのユースケースを予期していて、まだ提供していない非ハッキリの準備をしていると期待しています@Aggregatorイベントで私に会いましょう。タイムアウトした場合、またはすべてのフィルタポイントをチェックして最後のファイルであるかどうかを確認する場合は、@ Agregatorイベントは発生しません。
ありがとうございます!
私たちは、イベントの順序に応じて、テスト用薄片を確認している、我々はこの問題を回避する必要があります。私は、アグリゲータの場合と同じように、ReleaseStrategyがその時点までのメッセージの完全なリストを受け取ることがわかります。私たちのアグリゲータはReleaseStrategysoアグリゲータに私達ができる偽のコールへの最後のパラメータを覚えて、状態を保持する必要があるとしています。 I私はまだ誰かが春を考え出すことを願って保持するよう質問への答えとしてこれをマークしません。これを行うには「正しい方法」を承認したが、凝集にフィルタリングを組み合わせたとき、私はそれが春の統合アーキテクチャの穴である疑いがあります。 – DavesPlanet