Как справиться с недостатками при передаче тысяч файлов с помощью Jsch? - PullRequest
2 голосов
/ 20 марта 2012

Я написал и протестировал Java-код, который использует Jsch для передачи файлов. Перенос с исходного компьютера ЗДЕСЬ на конечный компьютер ТАМ работает безупречно. Используя тот же неизмененный код, перенос с ЗДЕСЬ на другой компьютер, ПРОБЛЕМА, работает примерно вдвое меньше. Проблема заключается в том, что при случайном файле код зависает при записи или закрытии, и не возникает никаких исключений даже после очень долгого времени ожидания. (После следующего использования канала по истечении очень длительного времени ожидания возникает исключение.) Использование команды linux "scp" (openssh-clients) безупречно копирует один и тот же набор файлов, как ЗДЕСЬ, ЗДЕСЬ и ЗДЕСЬ, чтобы ПРОБЛЕМАТЬ.

Я предполагаю, что в передаче или приеме файлов есть несовершенство, которое openssh :: scp было разработано для обнаружения и обхода. Любые предложения относительно того, как продолжить.

Деталь (s):

  1. методы, используемые для записи / закрытия

    OutputStream fos = put(String rp3);
    fos.close(); 
    
  2. Существует ли средство, аналогичное Unix Alarm / SIGALRM, для прерывания записи / закрытия, чтобы попытка может быть повторена?

  3. Есть ли параметр setConfig сеанса, который указывает Jsch быть более отказоустойчивым? Где они документированы?

  4. Должен ли я переключиться на другую реализацию Java scp?

...