我已经通过在我的应用程序中扩展TestReloadableResourceBundleMessageSource
创建了一个类ReloadableResourceBundleMessageSource
并实现了这样的。
public class TestReloadableResourceBundleMessageSource extends ReloadableResourceBundleMessageSource {
//....
}
@Bean
public TestReloadableResourceBundleMessageSource messageSource() {
String messagesPath = "C:/messages";
TestReloadableResourceBundleMessageSource messageSource = new TestReloadableResourceBundleMessageSource();
messageSource.setBasename("file:" + messagesPath);
messageSource.setCacheSeconds(0);
messageSource.setDefaultEncoding(Charsets.UTF_8.name());
return messageSource;
}
但是当我更改属性文件值时,保存并重新加载页面我得到的旧值不是新值而不重新启动服务器。
我的属性文件不在类路径中。
可能是什么原因,我该如何重新加载它。任何解决方案将不胜感激。
我正在使用spring-boot 1.4.4.RELEASE
。
答案 0 :(得分:0)
下面的代码对我有用。
@Bean
public ReloadableResourceBundleMessageSource messageSource() {
ReloadableResourceBundleMessageSource resource = new ReloadableResourceBundleMessageSource();
String messageFolderPath = propertyLocation + "/" + "i18n";
resource.setBasename("file:"+messageFolderPath+"/messages");
resource.setDefaultEncoding("UTF-8");
resource.setCacheSeconds(10);
return resource;
}