|
|
|
WatchService не видит изменений
|
|||
|---|---|---|---|
|
#18+
NTFS диск, если редактирую файл блокнотом, то pollEvents срабатывает, всё ок. Есть софт, который пишет данные в лог файл, WatchService не видит этих изменений до ротации. Т.е. когда сторонний софт ротирует лог файлы (начинает писать в новый файл в том же каталоге), то pollEvents срабатывает. Еще заметил, что pollEvents срабатывает до ротирования, только если открыть в Explorer`e директорию, срабатывает как раз в момент открытия. При этом как бы last modify у файла свежий. Как его заставить видеть изменения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2016, 18:20 |
|
||
|
WatchService не видит изменений
|
|||
|---|---|---|---|
|
#18+
Пробовал так, не помогло: Код: java 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2016, 18:35 |
|
||
|
WatchService не видит изменений
|
|||
|---|---|---|---|
|
#18+
Терзают смутные сомнения что логирование и не закрывает файл поэтому и нет никаких event до момента ротирования ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2016, 10:23 |
|
||
|
WatchService не видит изменений
|
|||
|---|---|---|---|
|
#18+
Не закрывает. Но почему когда открываешь в эксплорере каталог этот, то нотификация срабатывает? (если конечно файл был изменен с момента последнего открытия эксплорера) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2016, 10:49 |
|
||
|
WatchService не видит изменений
|
|||
|---|---|---|---|
|
#18+
HettНе закрывает. Но почему когда открываешь в эксплорере каталог этот, то нотификация срабатывает? (если конечно файл был изменен с момента последнего открытия эксплорера) вот тут непонятно конешно. но скорее всего ОС кэшит на всякий все подряд к чем в последнее время был доступ и поэтому каталог действительно открывается системным вызовом только если изменилось время у файлового дескриптора иначе тупо ренедерит последнее что было. по крайней мере на win10 чуство что кэшируется все подряд ибо первое открытие тормозит а потом все шустро работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2016, 10:53 |
|
||
|
WatchService не видит изменений
|
|||
|---|---|---|---|
|
#18+
но это мои предположения более точно наверное нужно разбираться на какие именно системные вызовы реагирует этот WatchService и при каких условия эти вызовы происходят ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2016, 10:58 |
|
||
|
WatchService не видит изменений
|
|||
|---|---|---|---|
|
#18+
Правильно использовать WatchService не так-то просто. Я свою реализацию содрал с исходников gradle - и рекомендую сделать так же. Реализацию найти несложно - качаешь исходники, ищешь по тексту WatchService. У них там всё инкапсулировано и лежит в отдельном пакете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2016, 12:48 |
|
||
|
WatchService не видит изменений
|
|||
|---|---|---|---|
|
#18+
scfПравильно использовать WatchService не так-то просто. Я свою реализацию содрал с исходников gradle - и рекомендую сделать так же. Реализацию найти несложно - качаешь исходники, ищешь по тексту WatchService. У них там всё инкапсулировано и лежит в отдельном пакете. Как может быть не правильным то, что написано в документации? Вот такой пример прекрасно воспросизводит то, что я описал. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2016, 12:55 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39303661&tid=2123710]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
64ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 411ms |

| 0 / 0 |
