JAXB使用Woodstox解析器来提高性能?

是否可以切换本机解析器,我认为它基于Javareflection。 我们遇到了一些性能问题,并想知道我们是否可以切换实现。

您的建议非常感谢。

附加信息:这是inheritance的代码,我们需要修复Web服务中的性能问题。 我正在寻找性能提升而无需更改代码。 现有代码使用JAXB来编组和解组通过CXF(wsdl到java)生成的java对象。

我的目标是将实现切换到sTax,然后使用Woodstox库。

如果您的JAXB实现通过标准JAXP API使用StAX解析器,那么将Woodstox jar添加到类路径应该会导致您的JAXB impl使用Woodstox。 通过这样做,您应该看到性能提升。

由于Woodstox jar包含以下条目,因此将其添加到类路径将允许JAXP API返回它的实例:

  • META-INF /服务/ javax.xml.stream.XMLInputFactory
  • META-INF /服务/ javax.xml.stream.XMLOuputFactory

注意:我领导EclipseLink JAXB(MOXy) ,当一个可用时,MOXy使用StAX解析器。 其他JAXB实现(Metro,JaxMe)可能会做同样的事情。