Я написал и протестировал Java-код, который использует Jsch для передачи файлов. Перенос с исходного компьютера ЗДЕСЬ на конечный компьютер ТАМ работает безупречно. Используя тот же неизмененный код, перенос с ЗДЕСЬ на другой компьютер, ПРОБЛЕМА, работает примерно вдвое меньше. Проблема заключается в том, что при случайном файле код зависает при записи или закрытии, и не возникает никаких исключений даже после очень долгого времени ожидания. (После следующего использования канала по истечении очень длительного времени ожидания возникает исключение.) Использование команды linux "scp" (openssh-clients) безупречно копирует один и тот же набор файлов, как ЗДЕСЬ, ЗДЕСЬ и ЗДЕСЬ, чтобы ПРОБЛЕМАТЬ.
Я предполагаю, что в передаче или приеме файлов есть несовершенство, которое openssh :: scp было разработано для обнаружения и обхода. Любые предложения относительно того, как
продолжить.
Деталь (s):
методы, используемые для записи / закрытия
OutputStream fos = put(String rp3);
fos.close();
Существует ли средство, аналогичное Unix Alarm / SIGALRM, для прерывания записи / закрытия, чтобы
попытка может быть повторена?
Есть ли параметр setConfig сеанса, который указывает Jsch быть более отказоустойчивым? Где они документированы?
Должен ли я переключиться на другую реализацию Java scp?