#apache-camel #camel-ftp #apache-camel-k
Вопрос:
Я запускаю приведенный ниже маршрут Java Camel для загрузки новых файлов с FTP-сервера, но, похоже, он не работает. Однако он также не показывает никаких ошибок. Приложение начинается со статуса
Routes startup summary (total:1 started:1)
[2] 2021-07-22 07:03:45,885 INFO [org.apa.cam.imp.eng.AbstractCamelContext] (main) Started route1 (ftp://user1@ftp.mycompany.com/customer-1)
Код маршрута FTP
// camel-k: language=java
import org.apache.camel.builder.RouteBuilder;
public class FTPDownloader extends RouteBuilder {
@Override
public void configure() throws Exception {
from("ftp://user1@ftp.mycompany.com/customer-1?password=RAW(Password)amp;delay=5samp;delete=true")
.to("file:///tmp/data").log("downloaded");
}
}
Примечание: Я настроил верблюда K в кластере локального вида.
$ kamel run FTPDownloader.java --dev
Комментарии:
1. Путь, указанный в маршруте, рассматривается как относительный к домашнему каталогу. Убедитесь, что у вас есть папка
customer-1
вuser1
домашнем каталоге. Вы также можете попробовать просмотреть дерево папок на FTP-сервере и найти вторую папку с именемcustomer-1
, потому что Camel автоматически создал ее в ожидаемом месте..
Ответ №1:
Проблема, по-видимому, заключается в «пассивном» режиме, ожидаемом ftp-сервером. Приложение начало работать, как только я настроил passiveMode
, как показано ниже.
from("ftp://user1@ftp.mycompany.com/customer-1?password=RAW(Password)amp;delay=5samp;delete=trueamp;passiveMode=true")
.to("file:///tmp/data").log("downloaded");