Archaius не читает обновленные значения из properties файла

Рейтинг: 1Ответов: 0Опубликовано: 24.04.2023

config.properties:

microservices.archaius.properties.one=one-value

Main class:

@SpringBootApplication
public class Main {

    public static void main(String[] args) {
        SpringApplication.run(Main.class, args);
    }
}

Controller class:

@RestController
public class ConfigPropertiesController {

    private static final String DEFAULT_NOT_FOUND_PROPERTY_MESSAGE = "not found!";

    private DynamicStringProperty defaultProperty;

    @PostConstruct
    private void setUp() {
        defaultProperty = DynamicPropertyFactory.getInstance()
            .getStringProperty("microservices.archaius.properties.one",
                DEFAULT_NOT_FOUND_PROPERTY_MESSAGE);
    }

    @GetMapping("/default")
    public String defaultPropertyValue() {
        return String.format("Property name: %s\nProperty value: %s", defaultProperty.getName(),
            defaultProperty.get());
    }
}

pom.xml:

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-archaius</artifactId>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter</artifactId>
                <version>2.7.12-SNAPSHOT</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-netflix</artifactId>
                <version>2.0.1.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

Выполняю последовательность действий:

  1. Отправляю запрос GET localhost:8080/default и в ответ:
Property name: microservices.archaius.properties.one
Property value: one-value
  1. Меняю config.properties:
microservices.archaius.properties.one=UPDATED VALUE
  1. Опять отправляю запрос GET localhost:8080/default и в ответ получаю старые значения:
Property name: microservices.archaius.properties.one
Property value: one-value

Archaius не читает обновленные значения из config.properties файла?

Ответы

Ответов пока нет.