FTPClient/DefaultSocketFactory does not regard default timeout
--------------------------------------------------------------
Key: NET-141
URL: http://issues.apache.org/jira/browse/NET-141
Project: Commons Net
Issue Type: Bug
Affects Versions: 1.4 Final
Reporter: Christian Hufgard
Hi,
If executing the following code
String hostname = "localhost";
FTPClient client = new FTPClient();
client.setDefaultTimeout(1000);
client.connect(hostname);
against a ftp server that ignores the connection attempt (e.g. is
firewalled/malfunctoned), there will be no exception after 1000 ms. The
exception will be thrown after a default timeout of three minutes. (Three
minutes on a debian/ and a suse machines. Might be different on other
platforms).
JavaDoc says:
public void setDefaultTimeout(int timeout)
Set the default timeout in milliseconds to use when opening a socket.
Digging through the code I found, that DefaultSocketFactory which is used be
SocketClient does not care about any value set with this method. It creates a
new Socket with Socket(hostname, port) and relies on the VMs behaviour.
To get this fixed I set a custom SocketFactory with
client.setSocketFactory(socketFactory); that uses a timeout for socket
connection.
This bug is also in 1.4.1, but this value is not listed...
Christian
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]