Spring integration 如何使用spring Integration SFTP网关将文件移动到文件夹?

Spring integration 如何使用spring Integration SFTP网关将文件移动到文件夹?,spring-integration,sftp,Spring Integration,Sftp,需求:我们正在尝试实现一个应用程序,它的功能是使用spring sftp outbound gateway通过sftp将文件从入站文件夹移动到处理文件夹。我们已经实现了sftp出站网关,如下所示。当我们执行应用程序时,它没有给出任何东西,即既没有异常也没有预期的输出(即文件没有移动到sftp上) 我想将*.txt文件从“/tmp/datlaa”移动到/tmp/datlaa/archive 你能建议我方的任何配置错误吗。或者如何让它工作 谢谢 添加应用程序上下文文件 http://www.sp

需求:我们正在尝试实现一个应用程序,它的功能是使用spring sftp outbound gateway通过sftp将文件从入站文件夹移动到处理文件夹。我们已经实现了sftp出站网关,如下所示。当我们执行应用程序时,它没有给出任何东西,即既没有异常也没有预期的输出(即文件没有移动到sftp上)


我想将*.txt文件从“/tmp/datlaa”移动到/tmp/datlaa/archive

你能建议我方的任何配置错误吗。或者如何让它工作

谢谢

添加应用程序上下文文件 http://www.springframework.org/schema/beans/spring-beans.xsd ">
MV命令处理单个文件:

mv命令没有选项

expression属性定义“from”路径,rename expression属性定义“to”路径。默认情况下,重命名表达式为headers['file\u rename to']。此表达式的计算结果不能为null或空字符串。如有必要,将创建所需的任何远程目录。结果消息的有效负载为Boolean.TRUE。原始远程目录在文件\u remoteDirectory头中提供,文件名在文件\u remoteFile头中提供。新路径在文件\u rename中到页眉

您的
filename regex
在那里被忽略,并且
expression
rename expression
都应该指向目标文件


如果你想处理很多文件,比如你用“代码>文件名ReXEX <代码> >考虑使用<代码> SFTP LS网关> SPLIT-> SFFTMV网关。< /P>这不是一个Spring集成限制,SFTP不支持重命名命令中的通配符。感谢ARTEM和加里的响应。上面的注释,然后尝试实现实际需求。即,从sftp读取文件,然后将同一文件移动到sftp上的存档文件夹。为此,我们在上下文文件中完成了以下配置,但文件仍然没有移动。除了配置文件外,我们有一个java主类,它只加载上下文文件。您可以请建议我们是否需要在java class.java class的公共类SftpGatewaySample{private static Logger Logger=Logger.getLogger(SftpGatewaySample.class);public static void main(String[]args){ApplicationContext=new ClassPathXmlApplicationContext(“outboundGateway.xml”)中更改配置/添加任何代码;application-context.xml您应该将配置注释作为编辑移动到问题。

<int-sftp:outbound-gateway id="remoteftpLS"
    session-factory="defaultSftpSessionFactory" request-channel="sftpRequestChannel"
    filename-regex=".*\.txt$" command="mv" expression="'/tmp/datlaa'"
    rename-expression="'/tmp/datlaa/archive'"  />