今天项目连接ftp时候上传文件一直在报错。
完整报错内容:
org.apache.commons.net.ftp.FTPConnectionClosedException: FTP response 421 received. Server closed connection.
查阅资料后发现
1.Connection closed without indication.//FTP服务器服务有故障,或是是网络问题。
2. FTP response 421 received. Server closed connection.//错误原因就是FTP服务器端连接数满了
故得知是因为原因2造成ftp的连接数满了,又查看vsftp.log得到:too many sessions for this address
证实了就是连接数满造成。
解决方案:
将FTPClient.connect();
改成:
if(!FTPClient.isConnected()){
FTPClient.connect();
}
第二点是网络上的解决方案。
我通过查看了ftp的配置文件发现连接数不足以让我们连接不成功。由此我推测可能是因为网络问题导致的。后来发现通过定时任务多跑了几次 最后都成功传输上去。