Spring boot 集成Apache Camel SFTP下载文件

#下面是官方文档的描述,在实践中遇到的官方文档中的一些坑,在下面会描述,话不多说直接开始。
Spring boot 集成Apache Camel SFTP下载文件_第1张图片

创建route

public class MyFtpServerRouteBuilder extends RouteBuilder {


    @Override
    public void configure() throws Exception {
        // configure properties component
        PropertiesComponent pc = getContext().getComponent("properties", PropertiesComponent.class);
        pc.setLocation("classpath:application.properties");

        // lets shutdown faster in case of in-flight messages stack up
        getContext().getShutdownStrategy().setTimeout(10);
        from("sftp://china_user@xxxx:2222/???/????autoCreate=false&username=china_user&password=123&passiveMode=true&binary=true")
            .to("file:/Users/tanpeng/Documents/camel")
            .log("Downloaded file ${file:name} complete.");
     
        System.out.println("*********************************************************************************");
    }
}

测试一下

public final class MyFtpServer {

    private MyFtpServer() {
    }

    public static void main(String[] args) throws Exception {
        Main main = new Main();
        main.addRouteBuilder(new MyFtpServerRouteBuilder());
        main.run();
    }

}

上面说到的官方文档的坑 注意MyFtpServerRouteBuilder类,官方文档表示:不支持绝对路径Spring boot 集成Apache Camel SFTP下载文件_第2张图片

然而在我使用相对路径时并不能正常运行,抱着尝试的态度试了一下绝对路径,尽然通了。。。他…通了。。。

在from中最好按照官方文档的要求按照这个格式填写image.png

Camel官方文档

你可能感兴趣的:(java)