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