【问题标题】:Apache Camel: Copy File in different folder in same SFTPApache Camel:在同一个 SFTP 的不同文件夹中复制文件
【发布时间】:2020-03-20 09:12:29
【问题描述】:

想在同一个 FTP 服务器的不同文件夹中复制文件。 (不能移动,只能复制)

以下是代码:

 private static String fromSftpComponent() {
    return "sftp://transit.evy.com/Hrm/test/From_HRM"
            + "?username=Hrm"
            + "&password=PqIy" // Stored on wildfly server
            + "&download=true" 
            + "&reconnectDelay=10000"
            + "&delay=100000"
            + "&fileName=Integrator_3.xml";


 private static String toSftpComponent {
    return "sftp://transit.evy.com/Hrm/dev/From_HRM"
            + "?username=HRM"
            + "&password=PqIy" // Stored on wildfly server
            + "&fileName=$simple{file:onlyname.noext}.xml";
}


ROUTE

public void configure() throws Exception {

                from(fromSftpComponent())
                    .log("CHU" + header("CamelFileName"))
                    .to(toSftpComponent())
                    .end().log("Written to output file");

当我尝试运行代码时,它连接到 SFTP 1,然后打印 CHU 日志,然后不将其复制到目标并继续断开连接并重新连接目标。

【问题讨论】:

    标签: apache-camel camel-ftp


    【解决方案1】:

    您缺少noop=true 选项。查看文档here


    noop (consumer) 如果为 true,则不会以任何方式移动或删除文件。 此选项适用于只读数据或 ETL 类型要求。 如果 noop=true,Camel 也会设置 idempotent=true,以避免 一遍又一遍地使用相同的文件


    这样就可以了

    from("file:source?noop=true")
            .to("file:destination");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-25
      • 2017-02-27
      • 1970-01-01
      • 1970-01-01
      • 2018-01-07
      • 2013-01-30
      • 1970-01-01
      相关资源
      最近更新 更多