当前位置: 首页 > 知识库问答 >
问题:

使用spring集成的SFTP

师承弼
2023-03-14

我有一个用例,用户将多个csv文件放到远程目录中,然后放置ready.txt来指示文件已准备好使用。当我们的applcation在远程目录中看到ready.txt文件时,它应该开始使用sftp文件入站通道适配器将所有文件复制到本地目录,包括ready.txt。是否有办法确保readt.txt文件是最后一个要复制到本地目录的文件?

因为当文件从远程目录复制到本地目录时,我有另一个文件入站通道适配器在本地目录中寻找ready.txt文件,当找到时启动我的批处理过程,这取决于从远程复制的所有csv文件。这里的问题是这些文件必须按顺序执行。最后复制ready.txt文件将确保我有所有的文件,这样我就可以开始我的批处理过程。

马利卡尔琼

共有1个答案

翟默
2023-03-14

您可以在入站适配器上使用自定义FileListFilter;适配器调用filterfiles(),并按照返回的顺序获取文件。您可以返回一个空列表,直到找到ready.txt;当它存在时,只需重新排序列表,并将ready.txt放在末尾。

 类似资料:
  • 我有一个spring批处理应用程序,它从文件中读取数据,进行一些处理,最后编写一个定制的输出。这一切都是一步到位的。在下一步中,我将使用一个tasklet来归档输入文件(移动到另一个文件夹)。这个应用程序运行良好。但是,现在我需要在远程服务器上对sftp输出文件进行进一步处理。我找到了一种使用spring integration实现sftp的方法,在这里我创建了一个输入通道,该通道将反馈给outb

  • 在DownloadPayloadExtractor中,我希望获得 这些是原木的

  • 我有几个hickup设置私钥为Spring集成SFTP。 我想我可以在这里分享我的发现。 我在别处读到,我应该用私钥参数化JSch对象。然而,这并不奏效: 结果异常:

  • 如果其他人已经解决了这个问题,那就只是寻找一些信息。我想同时使用Spring集成和Spring批处理。这两个都是SpringBoot应用程序,理想情况下,我希望将它们和各自的配置分开,这样它们都是自己的可执行jar。我在自己的进程空间中执行它们时遇到问题,我相信我希望,除非有人能说服我,否则,每个程序都能像自己的Spring Boot应用程序一样运行,并用自己的配置文件和属性初始化自己。不过,我遇

  • 我们已经注意到,当错误消息被接收到Spring集成endpoint(从RabbitMQ)时,它们不会被重试。如果我们的业务代码(即接收消息的“服务方法”)出现了问题,导致它抛出异常,那么重试就会发生。 这是我们的配置: 方法的实现方式如下: 有人知道我如何在spring集成调用“服务方法”之前重新排队/重试失败的消息吗? 我们使用Spring Integration 5.4.6和Spring Bo

  • 本文向大家介绍详解Spring Boot 使用Spring security 集成CAS,包括了详解Spring Boot 使用Spring security 集成CAS的使用技巧和注意事项,需要的朋友参考一下 1.创建工程 创建Maven工程:springboot-security-cas 2.加入依赖 创建工程后,打开pom.xml,在pom.xml中加入以下内容: 3.创建applicati