java使用Ftp上传文件卡死
最近开发一个产品,需要向服务器传送文件,我们选择的是ftp,ftp上传模式是被动模式(Passive ),测试的时候没有任何问题,但是客户使用过程当中出现卡死(不定期,可能几天出现一次,也可能1个月一次),根据日志发现卡死位置就在ftp上传上面,请问各位有没遇见这种情况?分享一下经验。
注:使用该产品的客户很多。
上传代码如下:
public static boolean uploadFile(FtpTest ftpTest,String filename) {
String url=ftpTest.getFtpUrl();
int port=ftpTest.getFtpPort();
String username=ftpTest.getFtpUser();
String password=ftpTest.getFtpPsw();
String path="/";
boolean success = false;
FTPClient ftp = new FTPClient();
try {
InputStream input=new FileInputStream(ftpTest.getFtpUpPath()+"/"+filename);
int reply;
ftp.connect(url, port);//连接FTP服务器
ftp.login(username, password);//登录
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return success;
}
ftp.changeWorkingDirectory(path);
ftp.enterLocalPassiveMode();
ftp.storeFile(filename, input);
input.close();
ftp.logout();
success = true;
} catch (IOException e) {
e.printStackTrace();
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (IOException ioe) {
}
}
}
return success;
}