监视/轮询 FTP 位置

Posted

技术标签:

【中文标题】监视/轮询 FTP 位置【英文标题】:Watching/Polling FTP location 【发布时间】:2013-04-22 12:05:08 【问题描述】:

谁能推荐一个 JAVA 中的开源库来监控 FTP 位置的变化?我正在尝试监视 FTP 位置的更改,一旦检测到更改,更改的文件将被复制到 SVN 位置以进行提交。

【问题讨论】:

【参考方案1】:

Remote Directory Poller for Java (rdp4j) 库可以帮助您轮询 FTP 位置并通过事件通知您(例如在目录中添加/修改/删除文件)。请参阅 User Guide 以了解以下快速教程中的 FtpDirectoryMyListener 的实现:

package example

import java.util.concurrent.TimeUnit;
import com.github.drapostolos.rdp4j.DirectoryPoller;
import com.github.drapostolos.rdp4j.spi.PolledDirectory;

public class FtpExample 

    public static void main(String[] args) throws Exception 
        String host = "ftp.mozilla.org";
        String workingDirectory = "pub/addons";
        String username = "anonymous";
        String password = "anonymous";
        PolledDirectory polledDirectory = new FtpDirectory(host, workingDirectory, username, password);

        DirectoryPoller dp = DirectoryPoller.newBuilder()
        .addPolledDirectory(polledDirectory)
        .addListener(new MyListener())
        .setPollingInterval(10, TimeUnit.MINUTES)
        .start();

        TimeUnit.HOURS.sleep(2);

        dp.stop();
    

【讨论】:

该库似乎自 2016 年以来已停止支持 :( 任何替代方案? 仍然支持。 我下载了例子,然后运行,然后更改 ftp 文件。没有响应。

以上是关于监视/轮询 FTP 位置的主要内容,如果未能解决你的问题,请参考以下文章

在 Perl 中,如何在没有轮询但有超时的情况下监视文件更改?

监控文件描述符的六种方式(进程监控selectpoll非阻塞轮询I/O异步I/O线程监控)

Spring集成轮询器与调度程序

轮询位置更新频率降低对电池的影响?

没有位置服务的 iOS 后台轮询

监视数据库更改的最佳方法