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 文件的大小发生了变化,那么如果新文件大小更大并且 XML 解析器会中断,WLS 最终会部分读取它,或者如果新文件大小为较小。

您可以尝试重新部署应用程序。

或者,如果您经常更改静态资源,则可以将 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 回答