inotify — как я должен обрабатывать полную очередь событий?

#java #inotify

#java #inotify

Вопрос:

Я пользователь Fedora, в настоящее время использующий inotify-java для реализации опроса каталога. У меня есть следующий фрагмент кода:

 InotifyEventListener inel = new InotifyEventListener() {

   @Override
   public void filesystemEventOccurred (InotifyEvent ine) {
      // code to handle - done
   }

   @Override
   public void queueFull (EventQueueFull eqf) {
      // this is the part when I'm not sure what I should do
   }

}
  

Ответ №1:

Вы должны выполнить действия по восстановлению, специфичные для вашего приложения.

Событие «очередь заполнена» происходит, если вы недостаточно быстро извлекаете события. Избыточные события удаляются, но вы уведомляетесь об этом.

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