|
|
|
javax.xml.validation.Validator зависает намертво!
|
|||
|---|---|---|---|
|
#18+
Код: sql 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. 66. 67. 68. 69. 70. 71. 72. У меня складывается впечатление, что javax.xml.validation.Validator - это какая-то глючная библиотека. Я там извратился с чтением файла в память потому, что если происходит фатальная ошибка, то javax.xml.validation.Validator не закрывает файловый дескриптор и он не закрывается пока не закроется сама библиотека. А сейчас проблема в том, что почему-то на некоторых XML он зависает намертво! Одно ядро вешается на 100% и памяти процесс java.exe жрёт 270 Мбайт. Кто-нибудь с этим сталкивался? Что делать? Есть ли ещё какие-нибудь (только неглючные) библиотеки SAX-парсеров? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2012, 14:15:46 |
|
||
|
javax.xml.validation.Validator зависает намертво!
|
|||
|---|---|---|---|
|
#18+
Вы используете Java SAX API. А вот реализации у него могут быть разными. Имеет смысл скачать xerces новой версии и подключить к проекту. Проект в контейнере запускается или standalone? На какой JRE? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2012, 14:49:56 |
|
||
|
javax.xml.validation.Validator зависает намертво!
|
|||
|---|---|---|---|
|
#18+
авторПроект в контейнере запускается или standalone? На какой JRE? Это делает EJB-модуль GlassFish'а. Поэтому такие глюки крайне неприятны - вешается сервер или сервер не закрывает файлы и ничего нельзя с ними сделать до перезапуска сервера. JDK 1.7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2012, 14:53:00 |
|
||
|
javax.xml.validation.Validator зависает намертво!
|
|||
|---|---|---|---|
|
#18+
Niky4000авторПроект в контейнере запускается или standalone? На какой JRE? Это делает EJB-модуль GlassFish'а. Поэтому такие глюки крайне неприятны - вешается сервер или сервер не закрывает файлы и ничего нельзя с ними сделать до перезапуска сервера. JDK 1.7.Когда ззависнет - попробуйте засаспендить JVM и посмотреть, что именно повисло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2012, 14:55:13 |
|
||
|
javax.xml.validation.Validator зависает намертво!
|
|||
|---|---|---|---|
|
#18+
Когда зависает - можно сделать дамп потоков и посмотреть чем оно занимается. Если это GlassFish, то там, скорее всего какая-то своя реализация SAX API. Надо смотреть евойные либы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2012, 14:55:44 |
|
||
|
javax.xml.validation.Validator зависает намертво!
|
|||
|---|---|---|---|
|
#18+
авторКогда ззависнет - попробуйте засаспендить JVM и посмотреть, что именно повисло. авторКогда зависает - можно сделать дамп потоков и посмотреть чем оно занимается. Если это GlassFish, то там, скорее всего какая-то своя реализация SAX API. Надо смотреть евойные либы. Мне как-то не очень хочется развлекаться с этой библиотекой. Я лучше попробую Xerces вначале прикрутить. Да, кстати, у javax.xml.validation.Validator ещё и сообщения об ошибках все не на русском. А у Xerces есть русификация? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2012, 15:06:37 |
|
||
|
javax.xml.validation.Validator зависает намертво!
|
|||
|---|---|---|---|
|
#18+
У меня такое было. Выяснилось следующее, в схеме, некоторые строковые элементы были ограничены регулярными выражениями, выражения были не тривиальны и коряво написаны, куча лишних скобок и т.д.(но по синтаксису были корректны) После их рефакторинга, зависания прекратились. Что интересно, я пробовал разные парсеры, даже написанные на С по линукс или Венду, все они либо висли, либо вылетали с ошибками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2012, 15:20:54 |
|
||
|
javax.xml.validation.Validator зависает намертво!
|
|||
|---|---|---|---|
|
#18+
Еще вспомнил, зависания происходили в зависимости от строк в проверяемом xml, то есть, некоторые данные в xml проверялись по регулярному выражению без проблем, а другие, при проверке по точно такому же выражению, вешали парсер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2012, 15:25:34 |
|
||
|
javax.xml.validation.Validator зависает намертво!
|
|||
|---|---|---|---|
|
#18+
wessenУ меня такое было. Выяснилось следующее, в схеме, некоторые строковые элементы были ограничены регулярными выражениями, выражения были не тривиальны и коряво написаны, куча лишних скобок и т.д.(но по синтаксису были корректны) После их рефакторинга, зависания прекратились. Что интересно, я пробовал разные парсеры, даже написанные на С по линукс или Венду, все они либо висли, либо вылетали с ошибками. Круто. Не знал про такое. Если вы правы, то это легко определить по дампу потока. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2012, 15:25:48 |
|
||
|
javax.xml.validation.Validator зависает намертво!
|
|||
|---|---|---|---|
|
#18+
wessenУ меня такое было. Выяснилось следующее, в схеме, некоторые строковые элементы были ограничены регулярными выражениями, выражения были не тривиальны и коряво написаны, куча лишних скобок и т.д.(но по синтаксису были корректны) После их рефакторинга, зависания прекратились. Что интересно, я пробовал разные парсеры, даже написанные на С по линукс или Венду, все они либо висли, либо вылетали с ошибками. Спасибо за мысль! У меня заработало. Оказывается валидатор не вис, а просто очень-очень долго работал из-за того, что происходили дикое количество ошибок. Ограничил число ошибок для вывода и сдалал выход из валидатора. Теперь всё работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2012, 15:05:26 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37846619&tid=2131501]: |
0ms |
get settings: |
20ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
38ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
75ms |
get tp. blocked users: |
2ms |
| others: | 289ms |
| total: | 461ms |

| 0 / 0 |
