Передача файлов с ограниченным количеством соединений и с Camel SFTP - PullRequest
0 голосов
/ 13 ноября 2018

У нас есть требование, при котором нам необходимо загрузить более 100 тыс. Файлов и загрузить их на другой FTP-сервер (EFT) с максимально 10 подключениями, разрешенными для подключения к целевому серверу.Поскольку количество файлов для загрузки огромно, мы используем 3 потока для параллельной работы, но наблюдаем множество сбоев, поскольку назначение позволяет максимально 10 соединений.Я заметил, что у Camel SFTP есть варианты отключения, soTimeout.Просто интересно, каков правильный путь, и нормально ли с точки зрения производительности отключение для каждого файла и создание нового соединения снова?Рекомендуется ли использовать однопотоковую обработку вместо параллельной.Любая помощь приветствуется.

//Sample route
from("sftp://username@source/data?password=password")
.log()
.to("sftp://username@source/data?password=password&disconnect=true&soTimeout=120000") 

1 Ответ

0 голосов
/ 13 ноября 2018

Понимая вашу проблему, я мог бы предложить один способ.Вместо загрузки и выгрузки по одному и тому же маршруту, лучше разделить оба на два разных маршрута.Скажем,

  1. Используйте первый маршрут, чтобы загрузить файл с FTP и поместить его в свою локальную папку где-нибудь.
  2. Используйте второй маршрут, чтобы прочитать путь к этой локальной папке и скопировать файл на FTP, а затем удалить этот файл из локального.

Надеюсь, это может помочь.

...