Size: a a a

2021 January 06

ГС

Господин Случай... in pro.jvm
WatchService не хочет отслеживать подпапки папок директории и изменения файлов.
WatchEvent::context() всегда возвращает имя директории.
jdk 11
источник
2021 January 07

dd

dude dude in pro.jvm
Господин Случай
WatchService не хочет отслеживать подпапки папок директории и изменения файлов.
WatchEvent::context() всегда возвращает имя директории.
jdk 11
Данная фича крайне не надёжна. Лучше мониторить директорию по таймеру, или, если возможно, организовать директорию обмена и очищать её после обработки.
источник

ГС

Господин Случай... in pro.jvm
А в чем ненадежность? Не срабатывает?
источник

dd

dude dude in pro.jvm
Господин Случай
А в чем ненадежность? Не срабатывает?
Срабатывает, но крайне не стабильно. В случае desctop- приложения или консольной утилиты эту фичу можно использовать с относительно небольшими рисками. В случае использования в бэк-сервере будут наблюдаться потери событий из файловой системы.
источник

NG

Nikita Gryzlov in pro.jvm
dude dude
Срабатывает, но крайне не стабильно. В случае desctop- приложения или консольной утилиты эту фичу можно использовать с относительно небольшими рисками. В случае использования в бэк-сервере будут наблюдаться потери событий из файловой системы.
Потерь не замечал, только медленное срабатывание. И для маков пришлось воткнуть повышенный приоритет операций из sun-овского пакета
источник

NG

Nikita Gryzlov in pro.jvm
Правда и не хайлоад
источник

dd

dude dude in pro.jvm
Соответственно, если тз не позволяет пропуска таких событий - приходится перезаклыдываться с таймером.
источник

dd

dude dude in pro.jvm
Nikita Gryzlov
Потерь не замечал, только медленное срабатывание. И для маков пришлось воткнуть повышенный приоритет операций из sun-овского пакета
Мой основной тезис:да, но "крайне не стабильно"
источник

NG

Nikita Gryzlov in pro.jvm
dude dude
Мой основной тезис:да, но "крайне не стабильно"
Матричные тесты на CI не трех осях по этой причине ни разу не падали по крайней мере)
источник

dd

dude dude in pro.jvm
Ну дай бог здоровья) На одном проекте в продакшене я столкнулся с пропавшими событиями от части файлов.
источник

dd

dude dude in pro.jvm
Пробуйте, господа-товарищи, пробуйте... Может у вас все без единого разрыва заработает...
источник

ГС

Господин Случай... in pro.jvm
dude dude
Срабатывает, но крайне не стабильно. В случае desctop- приложения или консольной утилиты эту фичу можно использовать с относительно небольшими рисками. В случае использования в бэк-сервере будут наблюдаться потери событий из файловой системы.
Ну я про эти два способа ничего не знаю, где почитать?
источник

YG

Yury Golikov in pro.jvm
Не юзал эту фичу, а как загуглить эту проблему. Интересно в чем причины подобного поведения
источник

dd

dude dude in pro.jvm
Yury Golikov
Не юзал эту фичу, а как загуглить эту проблему. Интересно в чем причины подобного поведения
Могу только предложить: особенности разных ОС или кривые руки программистов.
С тех пор не использую нигде...
источник

YG

Yury Golikov in pro.jvm
dude dude
Могу только предложить: особенности разных ОС или кривые руки программистов.
С тех пор не использую нигде...
Это странно такие вещи должны работать как часы или вообще не работать. Или должно быть прописано в контракте
источник

dd

dude dude in pro.jvm
Господин Случай
Ну я про эти два способа ничего не знаю, где почитать?
Ну вообще я не знаю как этот "паттерн" правильно называется. По васянски алгоритм такой:
1) заводишь таймер на срабатывание раз в 5 минут ( через thread.sleep или через экзекутор пул, или через quartz  или ещё как угодно)
2) при срабатывании таймера: смотришь какие есть файлы в директории обмена, обработываешь их и удаляешь/перемещаешь в директорию "обработано".
( Можешь руками, или через camel, или через springbatch или ещё как угодно)
источник

dd

dude dude in pro.jvm
Если файлы не перемещать - дирректория обмена переполнится и будет долго обрабатываеться
источник

dd

dude dude in pro.jvm
Если требуется просматривать дерево дирректорий: просматриваешь их рекурсивно
источник

dd

dude dude in pro.jvm
Это общие принципы: все детали зависят от твоей задачи
источник

dd

dude dude in pro.jvm
Yury Golikov
Это странно такие вещи должны работать как часы или вообще не работать. Или должно быть прописано в контракте
Я сам был в шоке, но только минут на 10. Таже фича на десктопе(в венде) - работала без проблем.
источник