现象:java
在springboot的定时器轮询去下载ftp文件时,报如下错误:spring
org.apache.commons.net.ftp.FTPConnectionClosedException: FTP response 421 received. Server closed connection.
at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:367)
at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:294)
at org.apache.commons.net.ftp.FTP._connectAction_(FTP.java:400)
at org.apache.commons.net.ftp.FTPClient._connectAction_(FTPClient.java:924)apache
缘由分析:springboot
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网络
证明了就是链接数满形成。session
解决方案:this
将FTPClient.connect();
改为:
if(!FTPClient.isConnected()){
FTPClient.connect();
}.net
故此解决。但愿能帮到你们。get