Spring-boot ReloadableResourceBundleMessageSource不能正常工作

时间:2017-02-17 09:24:38

标签: java spring spring-mvc spring-boot resourcebundle

我已经通过在我的应用程序中扩展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

1 个答案:

答案 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;
    }