Я хочу отправить определенный файл из локальной папки на FTP, эта папка содержит разные csv-файлы, я хочу отправить только определенный.Вот код, который я использую, но он отправляет все файлы CSV в этой папке, как я могу сделать так, чтобы он смотрел, есть ли этот конкретный файл, например, «foo.csv», если он там есть, то отправьте его на FTP
public IntegrationFlow localToFtpFlow(Branch myBranch){
return IntegrationFlows.from(Files.inboundAdapter(new File(myBranch.getBranchCode()))//.patternFilter("final" + myBranch.getBranchCode() +".csv")
.filter(new ChainFileListFilter<File>()
.addFilter(new RegexPatternFileListFilter("final" + myBranch.getBranchCode() +".csv"))
.addFilter(new FileSystemPersistentAcceptOnceFileListFilter(new SimpleMetadataStore(), "foo"))),
//.filter(new FileSystemPersistentAcceptOnceFileListFilter(new SimpleMetadataStore(), "foo")),
e -> e.poller(Pollers.fixedDelay(10_000)))
.log()
.handle(Ftp.outboundAdapter(createNewFtpSessionFactory(myBranch), FileExistsMode.REPLACE)
.useTemporaryFileName(true)
.autoCreateDirectory(true)
.remoteDirectory(myBranch.getFolderPath()))
.get();
}
Я попытался добавить patterfilter или regexfilter, как показано ниже, но я получил ошибку.
IntegrationFlows.from(Files.inboundAdapter(new File(myBranch.getBranchCode())).patternFilter("final" + myBranch.getBranchCode() +".csv")
Ошибка при запуске.
The 'filter' reference is mutually exclusive with either the 'filename-pattern' or 'filename-regex' attribute.
Попытка поискадля решения, но не мог получить ясное.