4

是否可以切换本机解析器,我相信它是基于 Java 反射的。我们有一些性能问题,想知道我们是否可以切换实现。

非常感谢您的建议。

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

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

4

1 回答 1

9

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

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

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

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

于 2011-03-29T19:51:13.697 回答