4

Javaリフレクションに基づいていると私が信じているネイティブパーサーを切り替えることは可能ですか?パフォーマンスの問題がいくつかあり、実装を切り替えることができるかどうか疑問に思っています。

あなたのアドバイスは大歓迎です。

追加情報:これは継承されたコードであり、Webサービスのパフォーマンスの問題を修正する必要があります。コードを変更せずにパフォーマンスを向上させたいと思っています。既存のコードは、CXF(wsdlからjava)を介して生成されたJavaオブジェクトのマーシャリングとアンマーシャリングにJAXBを使用します。

私の目標は、実装をsTaxに切り替えてから、Woodstoxライブラリを使用することです。

4

1 に答える 1

9

JAXB実装が標準のJAXPAPIを介して内部でStAXパーサーを使用する場合、Woodstox jarをクラスパスに追加すると、JAXBimplがWoodstoxを使用するようになります。これを行うと、パフォーマンスが向上するはずです。

Woodstox jarには次のエントリが含まれているため、これをクラスパスに追加すると、JAXPAPIがそのインスタンスを返すことができます。

  • 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 に答える