0

我有 FTP 的 Spring 入站

我在看文件

https://docs.spring.io/spring-integration/reference/html/ftp.html

如果您碰巧有一个或多个文件位于本地目录中,它会在启动与远程 FTP 服务器的通信之前处理这些文件。

以上具体是什么意思?

例如,在我的情况下,本地目录是其他流程将从中获取的目录。例如,我在该目录中有 5 个文件尚未被其他流程拾取。

为什么 FTP 适配器会尝试再次处理它们,它究竟会做什么?我怎么能阻止它?

4

1 回答 1

1

看来您没有仔细准备 FTP 入站通道适配器文档:https ://docs.spring.io/spring-integration/reference/html/ftp.html#ftp-inbound

这是一种将远程文件下载到本地副本的组件。这就是为什么我们在这里谈论本地目录并且在该通道适配器上有一个选项。关键是这个通道适配器将远程文件下载到本地目录中,然后才使用本地文件构建一条消息以发送到channel. 您绝对不应该干扰其他组件在此本地目录中执行任何操作。该声明说,如果该本地目录中已经有一些文件,则首先将它们作为有效负载发布,然后该通道适配器才采用获取远程文件的路由。

您不能停止此逻辑,除非您在处理后删除这些文件。尽管您可以改用流式入站通道适配器:https ://docs.spring.io/spring-integration/reference/html/ftp.html#ftp-streaming

于 2020-01-03T14:39:14.993 回答