Простой пример динамической конфигурации Netflix Archaius не работает с локальными файлами - PullRequest
0 голосов
/ 12 июня 2018
public static void main(String[] args) throws InterruptedException {
    DynamicStringProperty property = DynamicPropertyFactory.getInstance().getStringProperty("prop", "test");
    while (true) {
        System.out.println(property.get());
        Thread.sleep(2000);
    }
}

Это мой код в очень простом тестовом файле.Когда я вручную изменяю свойство в связанном файле config.properties, эти изменения не отражаются во время выполнения.Посоветуйте, пожалуйста, если я что-то не так делаю?

1 Ответ

0 голосов
/ 13 декабря 2018

Вызовите следующую функцию перед использованием фабрики динамических свойств:

private static void Configure(){

      String url = null;
      try {
         url = new File("src/test/resources/config.properties").toURI().toURL().toString();
      } catch (MalformedURLException e) {
         e.printStackTrace();
      }
      DynamicURLConfiguration dynamicURLConfiguration = new DynamicURLConfiguration(1, 50, false,
              url);
      ConcurrentCompositeConfiguration finalConfig = new ConcurrentCompositeConfiguration();
      finalConfig.addConfiguration(dynamicURLConfiguration, "fileConfig");
      ConfigurationManager.install(finalConfig);
   }
...