java - Spring Integration从动态多个目录读取文件

标签 java ftp spring-integration sftp spring-integration-sftp

我正在使用this和 Spring 论坛。如果远程目录设置为“foo”,则该过程有效,但它不接受可以读取“foo”下任意数量的文件/文件夹的表达式(foo/\*/*)。彻底迷失了!

    @Bean
public FtpInboundFileSynchronizer ftpInboundFileSynchronizer() {
    FtpInboundFileSynchronizer fileSynchronizer = new FtpInboundFileSynchronizer(ftpSessionFactory());
    fileSynchronizer.setDeleteRemoteFiles(false);
    fileSynchronizer.setRemoteDirectoryExpression(new LiteralExpression("foo/*/*"));
    fileSynchronizer.setFilter(new FtpSimplePatternFileListFilter("*.txt"));
    return fileSynchronizer;
}

是否有一个库可以提供编程控制来处理与 spring(-boot) 配合良好的 ftp 操作。文档非常庞大,对于像我这样的 FTP 初学者来说,我不会很快得到任何进展。

最佳答案

您必须使用 (S)FTP outbound gateway使用递归 MGET 命令来实现这一点。入站 channel 适配器(同步器)不支持拉取目录树。

关于java - Spring Integration从动态多个目录读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43342951/

相关文章:

spring-boot - Spring 批量管理升级

cassandra - Spring Integration Cassandra 持久化工作流程

maven - Spring Integration 应用程序在作为打包的 jar 执行时不定义 channel

java - 使用 Java 使用 bCrypt 加密密码后,如何将盐与哈希分离?

java - 如何构造正则表达式来平衡字符串中的字符?

java - Android 运行时错误,ActivityNotFoundException : No Activity

java - Java 中使用 JUNG 库的顶点

ftp - Apache Camel FTP 下载不会删除远程文件

FTP获取和删除多个文件

c - linux c语言环境下如何给用户授权?