在我的 Wicket 应用程序中,我使用 StringResourceLoaders 作为文本资源。文本键和值是从属性文件和数据库加载的。
我创建了一个用于存储和获取文本资源的服务类,在这里我还有一个计划任务,它每 15 分钟更新一次文本资源。
当这个任务执行时,我首先更新文本资源,然后我想清除资源缓存以使 Wicket 使用更新的文本。
我的问题是缓存没有被清除。这是我尝试做的方法......
@Scheduled(fixedDelay=15*60*1000) // 15 minutes
private void taskUpdateTextResources() {
updateTextResources();
Application.get().getResourceSettings().getPropertiesFactory().clearCache();
}
这显然不是清除资源的正确方法,但是我该怎么做呢?