在 Java 中的 FTP 客户端上引发异常时要遵循的正确程序是什么,即 FTP 会话是保持活动状态还是在引发异常时自动“退出”?
所以我有这个:
public boolean testHost(Host host, String path) {
boolean success = false;
try {
FTPClient ftp = new FTPClient();
ftp.setRemoteHost(host.getIpaddress());
ftp.connect();
ftp.login(host.getUsername(), host.getPassword());
success = ftp.connected();
if (success && path != null){
ftp.chdir(path);
}
ftp.quit();
} catch (UnknownHostException e) {
LOG.info("Host IPAddress cannot be reached on " + host.getIpaddress());
success = false;
} catch (IOException e) {
e.printStackTrace();
success = false;
} catch (FTPException e) {
success = false;
}
return success;
}
当调用任何异常时,quit 命令不会被命中 - 这是一个问题吗?如果此方法不断受到攻击,是否可能有 100 个活动连接打开到 FTP 客户端?还是我什么都不担心?