[kaffe] org.apache.commons.net.ftp.FTPClient: disconnect() hangs

Ito Kazumitsu kaz at maczuka.gcd.org
Sun Oct 10 15:29:03 PDT 2004


My next target application to be run with Kaffe is openadaptor

While testing openadaptor, I found a case where the package
org.apache.commons.net.ftp from Jakarta Commons http://jakarta.apache.org/
does not work properly.

The attached program, which ends normally with Sun's JDK,
will not stop with kaffe.  Does it go into a deadlock?

bash-2.05b$ cat TestApacheFTP.java 
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;
public class TestApacheFTP
	private FTPClient _ftpClient;
	public static void main(String[] args) throws Exception
		TestApacheFTP ftp = new TestApacheFTP();
		ftp.connect(args[0], 21);
		ftp.login(args[1], args[2]);
	public void connect(String hostName, int port) throws Exception
		debug("Connecting to " + hostName + " on port " + port);
		_ftpClient = new FTPClient();
		_ftpClient.connect(hostName, port);
		if (!FTPReply.isPositiveCompletion(_ftpClient.getReplyCode()))
			throw new Exception("Failed to connect");
		debug("ApacheFTP object initialised and connected to " + hostName);
	public void login(String userName, String password) throws Exception
		debug("Logging in " + userName);
		if (!_ftpClient.login(userName, password))
			throw new Exception(userName + " Failed to login");
		debug(userName + " logged in");
	public void close() throws Exception
		debug("trying to close FTP Connection");
		if (_ftpClient.isConnected())
			debug("disconnecting FTP Connection");
			debug("FTP Connection closed");
	private static void debug(String s)
		System.err.println("DEBUG: " + s);
bash-2.05b$ kaffe TestApacheFTP localhost kaz ilvmke413
DEBUG: Connecting to localhost on port 21
DEBUG: ApacheFTP object initialised and connected to localhost
DEBUG: Logging in kaz
DEBUG: kaz logged in
DEBUG: trying to close FTP Connection
DEBUG: disconnecting FTP Connection

More information about the kaffe mailing list