我们有一个 Spring Integration 项目,其中一个大的输入文件被分解成许多单独的文件,然后使用 Spring Integration Aggregator 重新聚合在一起。
管道中有许多过滤器可以过滤掉不需要的单个文件。我们跟踪为每个相关输入文件过滤的文件数量。我们的@ReleaseStrategy 检查我们是否收到了单个文件的数量减去过滤的单个文件的数量。
如果最后一个要处理的文件在到达我们的 ReleaseStrategy 之前被过滤,会发生什么?ReleaseStrategy 为到达它的每个单独文件调用,如果最后一个单独的文件被过滤,我将不会再次被轮询,但我也希望 Spring 已经预料到这个用例并为它做出了一些非骇客的规定,仍然提供我与@Aggregator 事件。如果我超时或者如果我让所有过滤点检查它们是否是最后一个文件,我不会收到 @Aggregator 事件。
谢谢!