Простой пример динамической конфигурации Netflix Archaius не работает с локальными файлами

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, эти изменения не отражаются во время выполнения. Посоветуйте, пожалуйста, если я что-то не так делаю?

0 ответов

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

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);
   }
Другие вопросы по тегам