0
以下是我的FTPClient重试方法。它有一个错误。当初始连接成功时没有问题。但是,如果2,3尝试总是以NullPointerException结束。显然连接是重试成功,但是当我尝试列出远程文件时,它会抛出异常。在java中的FTPClient(apache commons net)上重试连接
FTPClient ftpConnection(int in, FTPCon objGetFiles) {
FTPClient ftp = null;
if (in < RetryCount) {
try {
in = in + 1;
logger.debug("connecting .........");
ftp = objGetFiles.connectToServer(FTPServer, FTPPort, FTPUser, FTPPasswd, RDir);
logger.debug("connected and the ftp object is "+ftp);
} catch (IOException ioe) {
logger.debug(ioe.toString());
logger.debug("sleeping for " + (RetrySleep/1000) + " sec");
try {
Thread.sleep(RetrySleep);
logger.debug("retrying connection");
ftpConnection(in, objGetFiles);
} catch (InterruptedException iex) {
logger.debug(iex.toString());
}
}
} else {
logger.debug("maximum retry exceed.");
}
return ftp;
}
DEBUG Starter - retrying connection
DEBUG Starter - connecting .........
DEBUG FTPCon - connecting to server ....
DEBUG FTPCon - 230 Logged on
DEBUG FTPCon - changing working directory
DEBUG FTPCon - 250 CWD successful. "/tmp" is current directory.
DEBUG Starter - connected and the ftp object is [email protected]
DEBUG Starter - java.lang.NullPointerException
FTPFile n[] = ftp.listFiles();
以上是它抛出NullPointerException异常的地方。我相信它在重试方法中的错误(如初始连接始终正常工作),但至今没有运气
谢谢指出。 – k119