При использовании ftpClient.connect
с существующим хостом, на котором не активна служба ftp, тайм-аут происходит только через 5 минут, что слишком долго.
Я пробовал устанавливать различные тайм-ауты (setDefaultTimeout, setDataTimeout ), которые ничего не изменили.
FtpClient
наследуется от SocketClient
, который имеет метод setConnectTiemout, но когда я его использую, я получаю java.lang.NoSuchMethodError: org/apache/commons/net/ftp/FTPClient.setConnectTimeout
при его запуске. Похоже, это связано с некоторой совместимостью с J2SW 1.2, как описано в Commons -net FAQ :
. В :Как установить тайм-аут соединения?http://wiki.apache.org/commons/Net/FrequentlyAskedQuestions
Они предлагают реализовать собственное SocketFactory
создание объектов из расширенного класса Socket с использованием определенного тайм-аута. Однако при попытке использовать ftpClient.setSocketFactory
я также получаю java.lang.NoSuchMethodError
.
Любая помощь, как я могу уменьшить время ожидания подключения?