2016-12-03 2 views
1

Я разработал приложение, которое обнаруживает изменения в файловой системе, используя в Java java.nio.file.WatchServiceИспользование FileSystemProvider для реализации файловой FTP системы

Это прекрасно работает при настройке WatchService для файловой системы по умолчанию:

watchService = FileSystems.getDefault().newWatchService();

В этом случае я должен расширить это приложение, чтобы отслеживать события на удаленном ftp-сервере. В частности, когда обнаружено событие нового файла (ENTRY_CREATE), получите файл, а затем обработайте его.

Исследуя это я считаю, что это подход:

  1. Реализация пользовательского FTP FileSystemProvider согласно NIO.2 documentation
  2. Осуществить реализацию WatchService для пользовательских FTP FileSystemProvider

В целом, делает этот подход смотреть прямо?

Во-вторых, любые ссылки на учебники или реализации будут очень полезными.

Спасибо!

ответ

1

Google «Java ftp watchservice», чтобы узнать, что сделали другие.

Например, см https://github.com/fge/java7-fs-ftp

Отметим, что watchservice нужно будет в конечном итоге опроса удаленного сервера. Отметим также, что FTP не позволяет вам искать файл (в отличие от функции диапазона HTTP), поэтому, если кто-то запрашивает фрагменты из файла в неупорядоченном порядке, он не пройдет гладко.

может реализовать прокси-сервер и обнаруживать изменения, внесенные другими пользователями прокси без опроса. Или, если вы используете сайт FTP-сервера, вы можете реализовать FTP-сервер, который запускался непосредственно на удаленной файловой системе и, при условии наличия уведомлений.

Смежные вопросы