[
https://issues.apache.org/jira/browse/NET-476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13421292#comment-13421292
]
Konrad Garus commented on NET-476:
----------------------------------
What if my connection is terminated (because I keep it open until the FTP
server or something else terminates)?
To detect the interruption and reconnect, we use something like:
{code:java}
try {
if (ftp.isConnected()) {
ftp.listNames("ping.file");
}
} catch (IOException e) {
ftp.disconnect();// connection was broken
}
if (!ftp.isConnected()) {
ftp.setTimeout((int) timeout);
ftp.addProtocolCommandListener(this);
ftp.connect(server, port);
ftp.setSoTimeout((int) timeout);
ftp.login(userName, password);
ftp.enterLocalPassiveMode();
}
{code}
Looking at the source of {{FTP.disconnect()}}, it does not reset
{{_replyLines}}. Could that be the reason?
> FTP parser initialization from invalid line
> -------------------------------------------
>
> Key: NET-476
> URL: https://issues.apache.org/jira/browse/NET-476
> Project: Commons Net
> Issue Type: Bug
> Components: FTP
> Affects Versions: 3.1
> Environment: Ubuntu Linux 10.04 amd64, vsftpd 2.2.2
> Reporter: Konrad Garus
>
> After upgrading from 1.4.1 to 3.1, we noticed the FTP client sometimes fails
> to list files. It seems to occur intermittently, possibly when the system is
> under relatively high load and does not respond immediately.
> From stacktraces, it seems like multithreading issues or trying to parse
> system type from reply to another command than SYST:
> {code}
> Caused by: org.apache.commons.net.ftp.parser.ParserInitializationException:
> Unknown parser type: PORT command successful. Consider using PASV.
> at
> org.apache.commons.net.ftp.parser.DefaultFTPFileEntryParserFactory.createFileEntryParser(DefaultFTPFileEntryParserFactory.java:118)
> at
> org.apache.commons.net.ftp.FTPClient.initiateListParsing(FTPClient.java:2359)
> at org.apache.commons.net.ftp.FTPClient.listFiles(FTPClient.java:2142)
> at
> {code}
> {code}
> Caused by: org.apache.commons.net.ftp.parser.ParserInitializationException:
> Unknown parser type: Directory send OK.
> at
> org.apache.commons.net.ftp.parser.DefaultFTPFileEntryParserFactory.createFileEntryParser(DefaultFTPFileEntryParserFactory.java:118)
> at
> org.apache.commons.net.ftp.FTPClient.initiateListParsing(FTPClient.java:2359)
> at org.apache.commons.net.ftp.FTPClient.listFiles(FTPClient.java:2142)
> at
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira