gpt4 book ai didi

java - 避免服务器调用不存在的松散资源

转载 作者:行者123 更新时间:2023-11-29 08:02:04 24 4
gpt4 key购买 nike

我正在开发一个在 Java 1.5(与 1.5+ 兼容)上编译的小程序应用程序。它包含一些资源属性文件,这些文件捆绑在同一个 jar 中,与 Java 包平行。

每当我通过小程序访问该资源文件时,它都会向下载小程序的服务器发出请求。之后它从 jar 中读取文件并像以前一样工作,但我不希望它向服务器请求这些文件。

这就是我的 java 代码访问资源文件的方式。

ResourceBundle messages = ResourceBundle.getBundle("resources/properties/Messages", locale);

我尝试了两种访问方式:

ResourceBundle messages = ResourceBundle.getBundle("resources.properties.Messages", locale);

两者具有相同的行为。

注意:这些资源在我的网络应用程序中不能作为松散资源使用。

最佳答案

I got these details from server logs.. I was analyzing my server log for 404 and 500 responses ..

404 (未找到)& 500 (服务器错误)消息是可以预期的,因为插件正在尝试检查缓存的资源是否是最新的。为此,它需要检查服务器版本资源的最后更新时间。

复杂的因素是资源可能位于小程序的 archive 属性中提到的 Jar 中或者它可以是与指定的 codebase 相同路径上的“松散文件”。因此,如果资源位于 Jar 的以下路径中:

/resources/properties/Messages_en_US.properties 

JVM也会检查

${codebase}/resources/properties/Messages_en_US.properties 

以及每个 Jar。

要修复它们,请参阅 codebase_lookup范围。这个用例需要:

<param name='codebase_lookup' value='false' >

这告诉 JVM 在类路径上没有资源存储为松散文件,并且只搜索 Jar。它应该停止经常报告 404/500 消息(对于理解该参数的较新 JRE)。

关于java - 避免服务器调用不存在的松散资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13722584/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com