Настройка тайм-аута подключения для FtpClient

При использовании 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.

Любая помощь, как я могу уменьшить время ожидания подключения?

6
задан stracktracer 11 June 2012 в 13:21
поделиться