这是一个运行在Tomcat上,使用Guice的Web应用程序。根据文档,我们应该能够调用
我们还尝试了以下方法:
我期望的行为是:
ResourceBundle.clearCache();
来清除ResourceBundle缓存,并从bundle属性文件中获取最新的内容。我们还尝试了以下方法:
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!
并且
ResourceBundle.clearCache(this.class.getClassLoader());
我期望的行为是:
- 启动Tomcat并访问页面,页面应显示“Hello World”
- 更改包含“Hello World”的属性文件为“Goodbye Earth”
- 使用servlet清除缓存
- 再次访问页面,页面应显示“Goodbye Earth”