ページの先頭です。
ここから本文です。

よくあるご質問(サポートFAQ)

【WebOTX Application Server】antiJARLocking を設定しても JAR ファイルがロックされる(OTX-FAQ-000839)

質問内容

Webアプリケーションの配備解除をしたところ JAR ファイルがロックされて残ったので、WebOTX のサービスを停止して JAR ファイルを削除した後、OTX-FAQ-000689 を参考に antiJARLocking を設定しました。
しかし、antiJARLocking を設定しても、再度 JAR ファイルがロックされました。

原因と回避方法を教えてください。

回答内容

antiJARLocking は ClassLoader の getResources メソッドに対しては有効になりません。
そのため、アプリケーションやライブラリで ClassLoader の getResources メソッドで取得した URL から openStream メソッドで InputStream をオープンしている場合は、その InputStream をクローズしても JAR ファイルがクローズされずにロックされます。

Apache Log4j 2 を使用している場合や、JAR ファイル内に META-INF/services/javax.servlet.ServletContainerInitializer が存在する場合に、この現象が発生することを確認しています。


回避するには、当該 JAR ファイルを WAR ファイルから抜き出して、WAR ファイル外の任意のディレクトリに移動し、nec-web.xml の class-loader 要素の extra-class-path で JAR ファイルのパスを指定してください。

[extra-class-path の設定方法]
<nec-web-app>
<class-loader extra-class-path="JAR ファイルのパス名"/>
</nec-web-app>

※ 移動したJARファイルは、アプリケーション配備後はドメインを停止するまで削除できません。

【対象製品】Application Server
【確認済みのバージョン】V8以降
【確認済みのエディション】すべて
【確認済みの対象OS】Windows
【確認済みのJavaバージョン】すべて
【コンポーネント】Webコンテナ
【カテゴリー】トラブルシューティング

製品名カテゴリ

WebOTX
WebOTX Application Server

  • コンテンツID: 3150111872
  • 公開日: 2017年09月11日
  • 最終更新日:2018年04月10日

アンケート

サポート情報充実のためアンケートにご協力をお願いいたします。



コメント欄:
ここからページ共通メニューです。 ページ共通メニューを読み飛ばす。