getMessage for new message会强制重载Spring ReloadableResourceBundleMessageSource吗?

时间:2012-11-09 15:30:52

标签: java spring internationalization

我在文档中找不到这个:

假设我有一个ReloadableResourceBundleMessageSource,如果我为刚刚添加到属性文件的属性调用getMessage(),使用另一个进程,这将强制重新加载,因为该属性尚不存在(未缓存),或者这会抛出异常?

我是否必须等待下一个cacheRefresh,直到可以访问该属性?

1 个答案:

答案 0 :(得分:2)

它将抛出异常,直到缓存超时。文件的最后修改时间戳在refreshProperties()中进行评估,但只有在缓存超时后才会发生。

如果这是一个Web应用程序,我建议创建一个调用clearCache()的Web服务。然后,您的外部进程可以编写新的属性文件并调用该服务以及时强制刷新。