私たちのアプリケーションでは、メッセージプロセッサ(Java 8で動作するスタンドアロンJavaプロセス)をクラッシュさせる非常に散発的な実行時例外が発生します。プロセッサは、この例外の時点で、一般的にWebサービスコールを実行しようとします。 XMLStreamWriterFactoryのインスタンス化に失敗しました:サポートされていないプロパティisRepairingNamespaces
例外
はjava.lang.Error: Failed to create new instance of com.sun.xml.internal.ws.api.streaming.XMLStreamWriterFactory$1
at com.sun.xml.internal.ws.api.streaming.ContextClassloaderLocal.createNewInstance(ContextClassloaderLocal.java:63)
..
Caused by: java.lang.IllegalArgumentException: Unable to access unsupported property javax.xml.stream.isRepairingNamespaces
at weblogic.xml.stax.ConfigurationContextBase.check(ConfigurationContextBase.java:90)
は、アプリケーション全体がエラーなしで時間の99.9%を実行しているで奇妙なことがされている:上記の例外は、非常にまれにしか(約数日おきに)起こります。クラッシュ後、プロセッサは自動的に再起動され、同じ例外が一見無作為な間隔で再び発生するまで完全に正常に動作します。
これまでのところ、JVMまたはアプリケーションが実行されているホスト上の不正行為とこれを関連付けることはできませんでした。
誰もそのようなunsupported property javax.xml.stream.isRepairingNamespaces
の例外が散発的に現れるのはなぜですか?
jdk1.8.0_66
はRed Hat 4.8.5-4
です。 WebサービスインターフェイスはJAX-WS
を使用して生成されます。
編集:
私はクラスパス(内部情報の多く、申し訳ありません)を共有することはできません。私たちはそこにWeblogicフルクライアントを持っています:wlfullclient-12.1.3.jar
。それはxml-apis-1.4.01.jar
として(また、クラスパス上)(ConfigurationContextBaseにスローされた例外に関連する)のjavax/XML /ストリーム/ XMLOutputFactory.classが含まれていServiceLoader
META-INF/services/javax.xml.stream.XMLOutputFactory --> weblogic.xml.jaxp.RegistryXMLOutputFactory
を経由してXMLのファクトリを定義します。
これは問題の一部になる可能性がありますか?
コンテキストクラスローダーがクラスの新しいオブジェクトインスタンスの作成に失敗しました。アプリケーションのクラスパスを共有できますか? JAX-WS RI(jaxws-rt- .jar)の代替バージョンがクラスパスにありますか? –
私はクラスパスを共有できません申し訳ありませんが、私は質問を更新しました。詳細を追加する必要がある場合はお知らせください。 – fgysin