|
|
|
Java - WatchService - проверка не занят ли файл другим процессом?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, написал небольшой сервис на Java который смотрит на директорию с логами и если в лог что-то дописывается - он реагирует. Проблема возникает когда пишется лог от nginx, наблюдение ведется также за tomcat и WildFly (на нем и бегает сервис). AccesDeniedException - эту ошибку я ловлю и обрабатываю, но всё-равно через некоторое время - сервер просто ложиться.... Почему-то только nginx. Постоянно вот такая ошибка Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Можно как-то проверять не занят ли файл другим процессом? Когда освободиться тогда и считывать, - становиться в очередь или как-то так... Спасибо за подсказки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2015, 02:06 |
|
||
|
Java - WatchService - проверка не занят ли файл другим процессом?
|
|||
|---|---|---|---|
|
#18+
Ну, есть что-то вроде File.canRead(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2015, 08:40 |
|
||
|
Java - WatchService - проверка не занят ли файл другим процессом?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Спасибо, хмммм, насколько я посмотрел в watchService нет такого метода, а наблюдает за папко он. Вот код. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2015, 11:29 |
|
||
|
Java - WatchService - проверка не занят ли файл другим процессом?
|
|||
|---|---|---|---|
|
#18+
Хмммм, и как я только что сам заметил - ловлю я ошибку не в том месте, там где я ее ловлю уже слишком поздно она туда не доходит... Как вы думаете если я ее буду ловить в run() - может что-то измениться? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2015, 11:46 |
|
||
|
Java - WatchService - проверка не занят ли файл другим процессом?
|
|||
|---|---|---|---|
|
#18+
_webdev_, - займи каким редактором тестовый файл (блокируй). - натрави твой код - обработай ошибку (пропусти файл) как можно раньше И тестируй до опупения твой код чтобы сервер не падал. В чём проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2015, 13:05 |
|
||
|
Java - WatchService - проверка не занят ли файл другим процессом?
|
|||
|---|---|---|---|
|
#18+
Petro123- займи каким редактором тестовый файл (блокируй). - не понял? Это не текстовый редактор, это nginx пишет в лог. Petro123- натрави твой код - обработай ошибку (пропусти файл) как можно раньше - WatchService - для этого и создан. В чем проблема, я писал выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2015, 14:35 |
|
||
|
Java - WatchService - проверка не занят ли файл другим процессом?
|
|||
|---|---|---|---|
|
#18+
_webdev_, Проверка на занятость решается через исключалку и её обработку - я имел ввиду, для проверки, воссоздать ситуацию занятости файла (любым способом) - у тебя там только "хмммммм" - лови райзе и проверяй. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2015, 15:21 |
|
||
|
Java - WatchService - проверка не занят ли файл другим процессом?
|
|||
|---|---|---|---|
|
#18+
_webdev_, Запускай под рутом! Тут уже интересно что будет, когда на каждое изменение access.log, куда-то отправляется весь файл log.setContent(new String(Files.readAllBytes(path)));. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2015, 15:38 |
|
||
|
Java - WatchService - проверка не занят ли файл другим процессом?
|
|||
|---|---|---|---|
|
#18+
0FD_webdev_, Запускай под рутом! Тут уже интересно что будет, когда на каждое изменение access.log, куда-то отправляется весь файл log.setContent(new String(Files.readAllBytes(path)));. - ))))) Это ж пока что разработка, на быструю руку сделано было. Хочу отправлять не все, а например за последний час. Да, сейчас грузятся мегабайты. )))) На счет рута, то почему интересно сервис читает из tomcat and WildFly нормально, а из nginx нет? Сервис бегает на той же машинке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2015, 15:59 |
|
||
|
Java - WatchService - проверка не занят ли файл другим процессом?
|
|||
|---|---|---|---|
|
#18+
_webdev_Спасибо, хмммм, насколько я посмотрел в watchService нет такого метода, а наблюдает за папко он. Вот код. watchService здесь при чем вообще?? Ты из него вызываешь createLog(), который падает. Ну, так проверяй прежде чем вызывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2015, 16:39 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=138&tid=2125728]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
39ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
25ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 288ms |

| 0 / 0 |
