Я создал маршрут верблюда (2.20.1), используя отличный DSL. Мне нужно использовать многоадресную рассылку для 2 конечных точек, а именно. ftps и файл. Если порядок маршрутов - ftps и файл, тогда файл является свойством, записанным на ftp-сервере, но в файловой системе записывается пустой файл (размером 0 байт). Если я изменил порядок, то есть файл, а затем ftps, тогда файл будет правильно записан в файловой системе, а пустой файл будет записан на ftp-сервере. Он отлично работает на FTP-сервере Apache Mina, но с клиентским ftp-сервером он работает, как указано выше.
Я пробовал оба варианта многоадресной рассылки:
.to("ftps:....").to("file:...")
а также
.to("ftps:...").to("file:..."))
Тоже пробовал parallelProcessing()
, но результат тот же.
camelContext.addRoutes(new RouteBuilder() {
def void configure() {
from("file:///home/xyz/?fileName=file.txt&charset=utf-8&noop=true")
.multicast()
.to("ftps://localhost:21/files?username=anonymous&password=anonymous&binary=true&fileName=file.txt&passiveMode=true&fileExist=Fail")
.to("file://${directory}?fileName=\${file:name}-\${date:now:yyyyMMddHHmmssSSS}")
}
})
Я ожидаю, что многоадресная передача должна записывать один и тот же контент на обе конечные точки без потери данных.