Вы не должны использовать streamCaching, если вы действительно не используете его.Он хранит ваш файл в памяти, используйте его, если вам нужно многократно потреблять ваш ввод.
Вы можете использовать Компонент Jpa или пользовательский компонент, получающий ваши данные.Загрузите его из базы данных и затем отправьте на ваш ftp-сервер.
С Jpa:
@Entity
@NamedQuery(name = "data", query = "select x from Data x where x.id = 1")
public class Data { ... }
После этого вы можете определить URI потребителя, как этот:
from("jpa://org.examples.Data?consumer.namedQuery=data")
.to("SFTP_SERVER");
РЕДАКТИРОВАТЬ: преобразовать список в CSV и отправить его по FTP:
from("jpa://org.examples.Data?consumer.namedQuery=data")
.marshal()
.csv()
.to("sftp://" +System.getProperty("user.name") +
"@sftp_server_url/data/cdr/myFile.csv?" +"privateKeyFile=~/.ssh/id_rsa&passiveMode=true");
См. CSV компонент , которые преобразуют список в CSV-файл.