У меня есть очень простой кусок верблюжьего кода.
public class MainApp2 {
/**
* A main() so we can easily run these routing rules in our IDE
*/
public static void main(String... args) throws Exception {
CamelContext context = new DefaultCamelContext();
context.addRoutes(new RouteBuilder() {
public void configure() {
from("sftp://ghana.corp.sensis.com:22/orders/?username=dsargrad&password=xxx")
.log("Received order: ${header.CamelFileName}")
//.to("file:///home/dsargrad/order_processed")
.to("file:data/outbox")
;
}
});
context.start();
Thread.sleep(1000000);
context.stop();
}
}
«От» части маршрута работает нормально. Я могу подключиться к FTP-серверу и найти файлы в каталоге «orders». Сообщение журнала указывает на это.
Содержимое папки заказов представляет собой один файл:
Однако при попытке скопировать эти файлы в папку, используя часть to маршрут, я вижу следующую ошибку
Я пробовал это как с относительным путем, так и с абсолютным путем (/ home / dsargrad / order_processed ). Я проверил существование обоих путей. Относительный путь определяется относительно места, в котором я запускаю приложение java.
Ниже приведен действительный абсолютный путь.
Ниже приведен сбой с абсолютным путем.
На следующем рисунке показано содержимое папки заказов от независимого FTP-клиента. Это говорит мне, что служба FTP и имя пользователя / пароль в порядке.