当使用
我尝试设置不同的超时时间(setDefaultTimeout、setDataTimeout),但没有任何改变。
问:我如何设置连接超时? http://wiki.apache.org/commons/Net/FrequentlyAskedQuestions 他们建议实现一个自己的
ftpClient.connect
连接到一个没有启用ftp服务的现有主机时,超时时间只有5分钟,这太长了。我尝试设置不同的超时时间(setDefaultTimeout、setDataTimeout),但没有任何改变。
FtpClient
继承自SocketClient
,后者具有setConnectTimeout方法,但当我使用它时,运行它时会得到一个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 。
请问如何缩短连接超时时间?
public static void main(String[] args)
方法连接了吗?也许问题在于应用服务器:它可能提供了旧版本的Commons Net库,而您部署的应用程序可能会从那里使用FTPClient... - Yuriy Nakonechnyy