0

仮想ディレクトリを介して XML ファイルにアクセスしていますが、XML はアプリケーション サーバーに保持されています。最初は解析は正常に機能していましたが、その後 XML に変更を加えると、その XML ファイルにアクセスできなくなりました。その場合、サービスを再起動してから機能させる必要があります。

code : weblogic.xml

<wls:virtual-directory-mapping>
        <wls:local-path>/app/upload_files/</wls:local-path>
        <wls:url-pattern>/Banner/*</wls:url-pattern>
        <wls:url-pattern>/Login/*</wls:url-pattern>
        <wls:url-pattern>/Home/*</wls:url-pattern>
</wls:virtual-directory-mapping>
4

1 に答える 1

1

resource-reload-check-secs のデフォルト値を使用しているようです (プロダクション モードでは -1、開発モードでは 1 です)。このパラメーターは、リソース メタデータのキャッシュを制御します (静的リソースのファイル サイズなど)。-1 は、メタデータを再ロードしないことを意味するため、静的リソースを変更しても、WLS はリソースを新たに再ロードすることはありません。

これが XML ファイルに当てはまり、XML ファイルのサイズが変更された場合、新しいファイル サイズが大きいと、WLS は最終的にそれを部分的に読み取ることになり、XML パーサーが壊れます。または、新しいファイル サイズが大きい場合は IO 例外が発生します。少ない。

アプリケーションの再デプロイを試すことができます。

または、静的リソースを頻繁に変更する場合は、resource-reload-check-secs の値を 0 または 1 に変更できます。

サンプル weblogic.xml:

....
<container-descriptor>
<resource-reload-check-secs>0</resource-reload-check-secs>
</container-descriptor>
</weblogic-web-app>

参照: http://docs.oracle.com/cd/E15051_01/wls/docs103/webapp/weblogic_xml.html#wp1067857

乾杯!

于 2013-05-03T16:03:58.677 に答える