ребята.
Мне нужно обработать 10 файлов параллельно, используя Apache Camel, и затем отправить их через команду FTP. Я провел небольшое исследование и узнал о команде multicast (). Но, видимо, это не работает, потому что я получаю файлы один за другим на сервере ...: /
Мой маршрут файла:
fromF("file://%s?antInclude=**/*.sync&recursive=true&noop=true", configurationManager.getDestinationFilesFolderPath())
.routeId("FTP_Snapshot_Fetcher")
.setHeader("OriginalFileName", simple("${file:name.noext}"))
.multicast()
.parallelProcessing()
.to(ftpRoutesForSameGroup.split(separator))
.toD("file://" + configurationManager.getDestinationFilesFolderPath() + "?fileName=${in.header.OriginalFileName}" + DAConfigurations.FILE_EXTENSION);
Я пытался использовать его с pipe и to, но оба варианта не имеют никакого эффекта.
Есть ли вероятность утечки компонента sftp?
Похоже:
.toD("sftp://"
+ ftpEndpoint.getUser() + "@"
+ ftpEndpoint.getUrl() + ":"
+ ftpEndpoint.getPort() + "/ftp/${in.header.pathToFile}"
+ "?password=" + ftpEndpoint.getPassword()
+ "&autoCreate=true&passiveMode=true&binary=true&tempFileName=${file:name.noext}"
+ DAConfigurations.FILE_EXTENSION_ON_SYNC
)
ftpRoutesForSameGroup
- это строка, содержащая весь список маршрутов (например, "direct: r1; direct: r2; direct: r3").
Кто-нибудь знает, как исправить это правильно (отправить все файлы или максимально возможное параллельно)?