如何清除ResourceBundle缓存

2024-01-30

这是一个使用 Guice 在 Tomcat 上运行的 Web 应用程序。根据文档我们应该能够调用ResourceBundle.clearCache();清除 ResourceBundle 缓存并大概从包属性文件中获取最新的信息。

我们还尝试了以下方法:

Class klass = ResourceBundle.getBundle("my.bundle").getClass().getSuperclass();
Field field = klass.getDeclaredField("cacheList");
field.setAccessible(true);
ConcurrentHashMap cache = (ConcurrentHashMap) field.get(null);
cache.clear(); // If i debug here I can see the cache is now empty!

and

ResourceBundle.clearCache(this.class.getClassLoader());

我期望的行为是:

  1. 启动 tomcat 并点击一个页面,显示“Hello World”
  2. 将包含“Hello World”的属性文件更改为“Goodbye Earth”
  3. 使用 servlet 清除缓存
  4. 点击该页面并期待看到“再见地球”

所以问题是,ResourceBundle.clearCache() 实际上是如何工作的?是否还需要清除一些通用文件缓存?


这对我有用:

ResourceBundle.clearCache();
ResourceBundle resourceBundle= ResourceBundle.getBundle("YourBundlePropertiesFile");
String value = resourceBundle.getString("your_resource_bundle_key");

Notes:

  1. ResourceBundle.clearCache() http://docs.oracle.com/javase/7/docs/api/java/util/ResourceBundle.html#clearCache(java.lang.ClassLoader)在Java 1.6中添加
  2. 不要使用静态resourceBundle属性,使用ResourceBundle.getBundle()调用后的方法clearCache() method.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何清除ResourceBundle缓存 的相关文章

随机推荐

  • Solr:如何搜索多个字段

    我正在使用 solrnet 我有标题和描述字段 我需要同时搜索这两个字段 我该怎么做呢 Jayendra 的答案是正确的 但如果您想在索引时 copyFields 不聚合单个字段中的数据并希望在查询时执行此操作 而不是使用标准处理程序而不是
  • 选项卡行为 Resharper Intellisense 选项

    像 Resharper 这样的产品有很多设置 但我似乎无法找到正确的设置来获得我想要的确切行为 我试图改变的行为是这样的 假设我想要的最终结果是 但目前的线路是 正如你所期望的 我开始输入 一个选项卡后我得到这个 但我希望它成为 有谁知道如
  • 批处理 - 将变量与正则表达式进行比较

    我正在编写一个批处理脚本 必须检查计算机上是否安装了某些程序 为此 我执行programName version我将输出存储在变量中 问题是当我尝试与正则表达式进行比较时 只是为了知道该程序是否存在于机器中 我正在尝试这段代码 但不起作用
  • 使用 Python 在大型文本文件中查找和替换特定行的最快方法

    我有一个numbers txt文件由多个 100K 行组成 每行由两个唯一的数字组成 并用 sign 407597693 1604722326 2426915 510905857 1604722326 2696202 76792361 16
  • 你真的需要“finally”块吗

    java 中的 try catch finally 块有 3 种排列 试着抓 尝试 抓住 终于 尝试 终于 一旦执行了finally 块 控制就会转到finally 块之后的下一行 如果我删除finally块并将其所有语句移至try cat
  • 输入一系列音符并播放它们

    我和我的儿子正在尝试编写一个程序 允许用户输入一系列音符 并将它们保存到要播放的列表中 我们提出了以下方案 import math import needed modules import pyaudio sudo apt get inst
  • node-webkit 相当于 sinatra 吗?

    我一直在考虑学习如何基于 Web 技术制作简单的 Mac OS X 应用程序 并且我遇到了似乎很有吸引力的 node webkit 然而 我最近投入了学习 Sinatra Ruby 的基础知识 并且我想继续学习该课程 对于使用 Sinatr
  • Objective C 协议相当于 Java 接口吗?

    问题不仅仅是关于标题 更多的是 我将如何实现这一目标 而不试图将 Java Flash 设计强制到 Objective C iPhone 程序中 我有 6 个扩展 UIView 的视图 这些视图都有不同的行为 但共享某些方法 例如 void
  • 在相机视图上显示自定义按钮

    有谁知道是否有一种方法可以在相机视图上粘贴自定义按钮 以允许用户像 oink 或 instagram 一样从其库中选择照片 而无需创建自定义视图 谢谢 Edit 使用覆盖层添加按钮似乎很容易 有谁知道如何实际显示照片库并使用该人选择的内容
  • KendoMobile ui 模板不渲染 css 如何使模板在视图中使用 kendo stylng 进行渲染?

    基本上模板不会使用以下方式渲染到 ScrollViewkendo render template response 但会与content template response 但这没有视图中的样式 请参阅下面的评论 如何使模板在视图中呈现剑道
  • Animate.spring 完成后调用函数

    我正在使用动画以便弹出窗口从右侧进入 我为此使用以下代码 var toValue 200 if this state fileMenu toValue 0 Animated spring this state bounceValue toV
  • Cgo 找不到像 这样的标准库

    我试图在我的 Go 代码中包含 C 代码 但未被识别 我首先认为它认为它是 C 代码并尝试 并失败 编译 但删除包含行实际上给了我这样的 C 错误故障排除error cout is not a member of std 该代码可以使用 g
  • 为什么从 .dll 导入函数时需要 .lib 文件?

    你能帮我理解 为什么从 dll 导入函数和数据时需要 lib 文件吗 我听说它包含来自相应 dll 的导出函数和数据元素的列表 但是当我使用 CFF Explorer 探索我的 dll 时 我发现 dll 已经具有导出函数的地址 因此理论上
  • 导致运行时异常在控制台输出中使用 println 正确排序

    VM Java 控制台输出的一个常见问题是 System out 和 System err 通常未正确同步 可能是因为它们位于不同的线程上 这会导致混合输出 如下所示 调试输出与运行时异常堆栈跟踪混合在一起 8 1 3 5 9 13 15
  • IBOutlets 在 Xamarin.iOS 中为私有的原因是什么

    生成的 Designer cs 属性默认是私有的 至少不需要手动调整生成的代码 这使得针对 UITableViewCell 等内容进行编码与在 Objective C 中进行编码相比有很大不同 对于 UIxxxViewCells 来说 流行
  • 无法解析:org.jitsi.react:jitsi-meet-sdk:+

    我正在尝试将 Jitsi Meet Android SDK 集成到本机 Android 中的一个简单项目中 但无法构建并引发以下错误 Failed to resolve org jitsi react jitsi meet sdk 我跟着j
  • pthread_join 损坏堆栈中的 pthread_create 参数

    我从一本高级 Linux 编程书中得到了这段代码 当我尝试在Linux 64位环境下执行代码时 which prime之后变量被损坏 更改为 0 pthread join 函数调用 在这个例子中为什么值which prime运行 pthre
  • 获取 MongoDB 中特定字段平均值的最快方法

    假设我有一个如下所示的数据集 id ObjectId 4dd51c0a3f42cc01ab0e6506 views 1000 status 1 id ObjectId 4dd51c0e3f42cc01ab0e6507 views 2000
  • 底部导航菜单单击图标选择

    我认为相关的两个问题 背景 我有三个底部导航项 它们导致其他布局和活动 其中之一是 家 在 Home 中 执行 onClick 时 会打开选定的活动和布局 但选定的图标仅在单击时突出显示 然后突出显示 Home 如果再次按下 则会突出显示选
  • 如何清除ResourceBundle缓存

    这是一个使用 Guice 在 Tomcat 上运行的 Web 应用程序 根据文档我们应该能够调用ResourceBundle clearCache 清除 ResourceBundle 缓存并大概从包属性文件中获取最新的信息 我们还尝试了以下