我正在使用Commons Net FTPClient
类定期轮询ftp站点并尝试下载文件。在尝试从网站上读取时,线程偶尔会无限期地阻塞,我想知道是否有其他人遇到过这个问题并且可以提供任何解决方法?
我正在使用FTPClient
的{{1}}方法来获取InputStream的句柄,然后我尝试从中读取。下面是被阻塞线程的部分堆栈跟踪。
retrieveFileStream(String)
答案 0 :(得分:0)
java.io是阻塞的,你需要使用java.nio包。从未在java.nio中使用过ftp,但是假设它必须工作,因为http可以使用java.nio。
此致
答案 1 :(得分:0)
我最终在这里使用的kludge是安排一个任务,如果FTP操作花费的时间超过X秒,则发出警报。我确实在Sourceforge上找到javanioftp,但在我的情况下,它并不保证切换客户端的开发开销。