Spring batch int文件:使用AcceptAllFileListFilter筛选器澄清入站通道适配器队列大小

Spring batch int文件:使用AcceptAllFileListFilter筛选器澄清入站通道适配器队列大小,spring-batch,spring-integration,Spring Batch,Spring Integration,我对文件入站通道适配器中的队列大小配置有疑问。根据我的理解,此配置允许您在内存中保留文件的编号,因此编号越高,占用的内存就越多 现在我们处理大量的zip文件,每个zip文件的大小从几个100kb到mb不等。现在,若我使用较低的数字,比如(10),并将20个zip文件放到dir中,它只处理10个,而忽略其他10个。发生的事情是,我们有一个自定义过滤器,它正在处理所有20个zip并在db中创建一个条目,所以下次轮询器拾取剩余的10个zip时,我的过滤器将拒绝,因为db中已经有一个条目 我现在很困惑,

我对文件入站通道适配器中的队列大小配置有疑问。根据我的理解,此配置允许您在内存中保留文件的编号,因此编号越高,占用的内存就越多

现在我们处理大量的zip文件,每个zip文件的大小从几个100kb到mb不等。现在,若我使用较低的数字,比如(10),并将20个zip文件放到dir中,它只处理10个,而忽略其他10个。发生的事情是,我们有一个自定义过滤器,它正在处理所有20个zip并在db中创建一个条目,所以下次轮询器拾取剩余的10个zip时,我的过滤器将拒绝,因为db中已经有一个条目

我现在很困惑,我怎样才能避免这种情况?是通过更换过滤器还是其他方式


注意:我们使用的是自定义筛选器,它扩展了AcceptAllFileListFilter,因为我们需要跟踪处理的zip文件的重复项。

使用
队列大小时,使用任何筛选器时,队列大小被忽略

我们最近在4.2中进行了讨论


解决方法是将逻辑添加到自定义筛选器。

使用队列大小时,在使用任何筛选器时,队列大小被忽略

我们最近在4.2中进行了讨论

解决方法是将逻辑添加到自定义过滤器中