Получение java.lang.OutOfMemoryError: превышен лимит накладных расходов GC; при синтаксическом анализе запроса XML с уникальными пространствами имен с помощью синтаксического анализатора XERCES - PullRequest
0 голосов
/ 23 июня 2019

У нас есть веб-приложение Tomcat, которое получает XML-запросы и анализирует их.Полученные запросы имеют разные уникальные пространства имен, и мы столкнулись с проблемой OOM, и приложение перестало отвечать.Наш анализ дампа кучи показал, что SynchronizedsymbolTable, используемая xerces для хранения символов, занимает огромную память, а не сборщик мусора.

Поэтому мы установили свойство org.apache.xerces.xni.parser.XMLParserConfiguration как

org.apache.xerces.parsers.SoftReferenceSymbolTableConfiguration

и это решило проблему с памятью.

Но нам также нужно установить свойство XMLParserConfiguration равным org.apache.xerces.parsers.XMLGrammarCachingConfiguration, чтобы схемы XSD кэшировались, когда мы используем анализатор JAXP для анализа запросов XML.

Есть ли способ в xerces версии 2.11.0 установить оба свойства вместе?

Выдается исключение java.lang.OutOfMemoryError: GC overhead limit exceeded

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...