如何通过int-ftp:outbound-gateway使用`ls`和`gets`命令获取指定文件的数字?

时间:2015-09-07 10:14:31

标签: spring spring-integration spring-batch

感谢关注,我使用了spring集成和spring批处理,我有一个用于处理我的文件的ftp服务器,在ftp服务器中存在超过1000个文件,我用ftp-adapter读取,我想要一种方法来读取数字到例如10到10的数字文件读取文件,怎么做? 我的代码是:

<int-ftp:outbound-gateway id="gatewayLS"
                          session-factory="ftpSessionFactory"
                          request-channel="inbound"
                          command="ls"
                          command-options="-R"
                          expression="payload"
                          reply-channel="inputFileSplitter"/>

1 个答案:

答案 0 :(得分:1)

没有办法限制ls命令返回的条目数; FTP不支持它。

您可以添加过滤器,但网关仍然会在过滤之前获取所有条目。

但您可以使用模式。

请注意ls仅返回文件元数据(或简称文件名);它不会检索文件本身。

限制返回列表大小的另一种方法是不使用-R并在目录中进行自己的递归。