JAXB использовать парсер Woodstox для производительности? - PullRequest
4 голосов
/ 29 марта 2011

Возможно ли переключение нативного парсера, который, я считаю, основан на Java-отражении.У нас есть некоторые проблемы с производительностью, и мы задаемся вопросом, можем ли мы переключить реализацию.

Мы высоко ценим ваш совет.

Дополнительная информация: Это унаследованный код, и нам нужно исправить проблемы с производительностью в нашем веб-сайте.Сервисы.Я ищу повышение производительности без изменений кода.Существующий код использует JAXB для маршалинга и демаршаллинга java-объектов, которые генерируются через CXF (от wsdl до java).

Моя цель - переключить реализацию на sTax и затем использовать библиотеку Woodstox.

1 Ответ

9 голосов
/ 29 марта 2011

Если ваша реализация JAXB использует синтаксический анализатор StAX под прикрытием через стандартные API-интерфейсы JAXP, то добавление jar Woodstox в ваш путь к классу должно заставить ваш JAXB impl использовать Woodstox.Сделав это, вы увидите улучшение производительности.

Поскольку jar Woodstox содержит следующие записи, добавление его в путь к классам позволит API-интерфейсам JAXP возвращать его экземпляр:

  • META-INF / services / javax.xml.stream.XMLInputFactory
  • META-INF / services / javax.xml.stream.XMLOuputFactory

Примечание: Я веду EclipseLink JAXB (MOXy) , и MOXy использует синтаксический анализатор StAX, когда он доступен.Другие реализации JAXB (Metro, JaxMe), вероятно, делают то же самое.

...