编辑文件后,无法从Virtual目录访问XML文件

时间:2013-05-03 11:05:35

标签: java weblogic virtual-directory

我通过虚拟目录访问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>

1 个答案:

答案 0 :(得分:1)

看起来您正在使用resource-reload-check-secs的默认值(在生产模式下为-1,在开发模式下为1)。此参数控制资源元数据的缓存(如静态资源的文件大小等)。 -1表示永远不会重新加载元数据,因此即使您更改静态资源,WLS也不会重新加载资源。

如果您的XML文件就是这种情况,并且您的XML文件的大小发生了变化,那么如果新文件大小更大且XML解析器中断,WLS将最终部分读取它,或者如果新的话,则会给您一个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

干杯!