Spring integration 入站sftp通道适配器自定义筛选器不再接受同一文件

Spring integration 入站sftp通道适配器自定义筛选器不再接受同一文件,spring-integration,Spring Integration,对于入站sftp通道适配器,我有一个非常简单的自定义过滤器,我只需检查文件扩展名是否在接受列表中。如果是这样,它将返回true并允许处理该文件 发生的事情是第一次处理该文件时,它工作正常。如果在我的sftp服务器中删除了同一个文件,它将进行筛选并返回true,这意味着该文件已被接受,但它不会将该消息放在下游队列中。下面是我的示例配置 这是因为在AbstractInboundFileSynchronizingMessageSource中还有一个文件列表过滤器: private volatile

对于入站sftp通道适配器,我有一个非常简单的自定义过滤器,我只需检查文件扩展名是否在接受列表中。如果是这样,它将返回true并允许处理该文件

发生的事情是第一次处理该文件时,它工作正常。如果在我的sftp服务器中删除了同一个文件,它将进行筛选并返回true,这意味着该文件已被接受,但它不会将该消息放在下游队列中。下面是我的示例配置


这是因为在
AbstractInboundFileSynchronizingMessageSource
中还有一个
文件列表过滤器

private volatile FileListFilter<File> localFileListFilter = new AcceptOnceFileListFilter<File>();

您是否尝试过使preserve timestamp=“false”我遇到了与问题类似的问题。我通过配置本地过滤器尝试了您的解决方案,它进入无限循环(轮询远程文件并创建消息负载,但不将其发送到下游服务激活器)听起来像是另一回事。请开始一个新的SO线程。
<int-sftp:inbound-channel-adapter id="sftpAdapter"
            channel="ftpChannel"
            ....
            local-filter="acceptAllFileFilter"/>

<bean id="acceptAllFileFilter" class="org.springframework.integration.file.filters.AcceptAllFileListFilter"/>