【问题标题】:move file from ftp to local using apachecamel使用 apache camel 将文件从 ftp 移动到本地
【发布时间】:2017-01-23 19:05:49
【问题描述】:

我是 Apachecamel 的新手 我需要将文件从 ftp 位置移动到我的本地文件夹:

我正在使用以下路线来做到这一点:

import java.io.File;

import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.DefaultCamelContext;

public class CopyFtp {
    public static void main(final String[] arguments) {
        final CamelContext camelContext = new DefaultCamelContext();
        /*
         * ConnectionFactory connectionFactory = new
         * ActiveMQConnectionFactory("admin", "admin",
         * ActiveMQConnection.DEFAULT_BROKER_URL);
         * camelContext.addComponent("test-jms",
         * JmsComponent.jmsComponentAutoAcknowledge(connectionFactory));
         */
        try {
            camelContext.addRoutes(new RouteBuilder() {
                @Override
                public void configure() throws Exception {

                    from("ftp://user@server.com/folder?password=abc&delay=10000").routeId("testRoute")
                            .process(new Processor() {

                                @Override
                                public void process(Exchange msg) throws Exception {
                                    File file = msg.getIn().getBody(File.class);
                                    String file1 = msg.getIn().getBody(String.class);
                                    System.out.println("" + file + file1);
                                }

                            }).to("file://E:/TestingWatch1/output");

                }
            });
            camelContext.start();
            // Thread.sleep(10*60*1000);
            // camelContext.stop();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
}

我没有看到文件从 FTP 位置移动到我的本地文件夹, 我在这里遗漏了什么吗?

【问题讨论】:

  • 如何退出?您的意思是您要移动的文件根本不会移动吗?我认为你陷入了每个人第一次开始使用 Camel 时都会遇到的陷阱,看看这个:camel.apache.org/…
  • 文件没有移动到我的本地目录。
  • 我很确定发生了什么(我猜,因为我正在查看您的代码)是 Camel 没有持续运行,所以路线没有运行,所以你的文件没有被转移。您有机会查看该链接吗?基本上你需要打电话给main.run()以保持骆驼运行

标签: java ftp apache-camel


【解决方案1】:

在您的情况下,程序在上下文事件完全开始之前完成,因为那里没有阻塞。在这里你可以看到如何正确运行它并保持运行:http://camel.apache.org/running-camel-standalone-and-have-it-keep-running.html

【讨论】:

    猜你喜欢
    • 2021-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-06
    • 1970-01-01
    • 2013-05-30
    • 1970-01-01
    相关资源
    最近更新 更多