Я новичок в Apachecamel У меня есть требование, чтобы переместить файл с FTP места в мою локальную папку:переместить файл с фтп местного использованием apachecamel
Я использую ниже маршрут, чтобы сделать это:
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://[email protected]/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, посмотрите на это: http://camel.apache.org/running-camel-standalone-and-have-it-keep-running.html – Jsmith
Файл не перемещает его в мой локальный каталог. –
Я довольно уверен, что происходит (я предполагаю, что, глядя на ваш код), это то, что Camel не работает постоянно, поэтому маршрут не запущен, поэтому ваш файл не передается. У вас был шанс посмотреть на эту ссылку? Вам нужно вызвать 'main.run()' в основном, чтобы сохранить работу Camel – Jsmith