我在文档中找不到这个:
假设我有一个ReloadableResourceBundleMessageSource,如果我为刚刚添加到属性文件的属性调用getMessage(),使用另一个进程,这将强制重新加载,因为该属性尚不存在(未缓存),或者这会抛出异常?
我是否必须等待下一个cacheRefresh,直到可以访问该属性?
答案 0 :(得分:2)
它将抛出异常,直到缓存超时。文件的最后修改时间戳在refreshProperties()
中进行评估,但只有在缓存超时后才会发生。
如果这是一个Web应用程序,我建议创建一个调用clearCache()
的Web服务。然后,您的外部进程可以编写新的属性文件并调用该服务以及时强制刷新。