【问题标题】:How to download filename*.csv, if filename*.marker file exists on the FTP server using spring integration ftp support如果使用 spring 集成 ftp 支持的 FTP 服务器上存在文件名*.marker 文件,如何下载文件名*.csv
【发布时间】:2017-04-04 10:02:10
【问题描述】:
我的要求是支持现有流程。这里参与者上传文件名*.csv,然后上传文件名*.marker 到 ftp 位置。一旦 filename*.marker 存在于同一 ftp 位置,我想触发 filename*.csv 的 ftp 下载。这个过程我无法改变。 .marker 文件的存在表明 .csv 文件已完成更新,并且可以开始处理 .csv 文件的流程。我正在寻找 spring 集成的 ftp 支持的入站通道适配器。但是,如果在同一位置存在文件名 * .marker,我看不到任何支持下载具有某些过滤条件(文件名 * .csv)的文件。换句话说,我想根据某些条件过滤远程文件,但想下载不同的文件(可能正在使用入站通道适配器)。请让我知道我是否可以通过实现任何接口等来自定义相同的内容。
【问题讨论】:
标签:
ftp
spring-integration
【解决方案1】:
您需要一个自定义过滤器来忽略不存在等效 *.marker 的 *.csv 文件。
public class MyMarkerFilter implements FileListFilter<FTPFile> {
...
}
并且,在filterFiles 中删除您不想通过过滤器的文件。
这是一个常见的用例,考虑contributing 框架的过滤器。