私が保守しているアプリケーションは、サードパーティの商用 EJB 実装を使用しています。ソースコードを変更する能力はありませんが、読むことはできます。
javax.xml.parsers.DocumentBuilderFactory
EJB のソース コードが、以下を使用する特定の実装を設定していると判断しました。
System.setProperty("javax.xml.parsers.DocumentBuilderFactory",
"org.apache.xerces.jaxp.DocumentBuilderFactoryImpl");
これを防ぎたいのですが、WARファイルからです。
私の耳は:
EAR application.xml weblogic-application.xml 3rd-party-ejb.jar my-web-app.war
現在調べているカスタムjava.lang.SecurityManagerの実装に関するSystem.setProperty メソッド呼び出しの検出に関する質問がありますが、WAR ファイルが 3rd-party-ejb.jar の動作にどのように影響するかはまだわかりません。
適切な解決策は何ですか?