重新加载属性而不停止并重新启动引导应用程序

时间:2019-05-26 17:14:29

标签: spring-boot spring-boot-actuator

我有application.properties文件,我正在代码中使用它来获取属性。我需要在不显式停止和启动应用程序jar文件的情况下对属性进行更改。我在STS IDE中使用Dev-tools,但是当通过java -jar << >>运行jar时,它不起作用。

我不想包含spring cloud config或任何DB,因为它对我的应用程序来说是过大的选择。请提出其他任何开箱即用的解决方案

1 个答案:

答案 0 :(得分:0)

在需要反映属性文件更改时,使用commons-configuration依赖性重新加载属性文件并运行给定的代码。

    Path rootLocation =  Paths.get("properties file location");
    PropertiesConfiguration config = new PropertiesConfiguration(rootLocation.toAbsolutePath().toString());
    config.setReloadingStrategy(new FileChangedReloadingStrategy());
    config.get<DatatypeOfPropertyField>("propertyName");

我也在做同样的事情。我正在使用外部属性文件。当我的应用程序启动时,在发生更改时初始化属性Bean类的属性,执行上述代码并在属性Bean中设置更改。