Простой пример динамической конфигурации 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);
}