В моих проектах я обычно работаю с Конфигурацией Apache Commons для управления файлами конфигурации (свойствами).Эта библиотека имеет возможность автоматической перезагрузки значений при изменении файла.
Это очень полезное предложение для реализации:
Создайте класс "MyAppConfigProperties" для загрузки файла свойств и прочитайте ключи конфигурации:
public class MyAppConfig {
//Apache Commons library object
private PropertiesConfiguration configFile;
private void init() {
try {
//Load the file
configFile = new PropertiesConfiguration(
MyAppConfig.class.getClassLoader().getResource("configFile.properties"));
// Create refresh strategy with "FileChangedReloadingStrategy"
FileChangedReloadingStrategy fileChangedReloadingStrategy = new FileChangedReloadingStrategy();
fileChangedReloadingStrategy.setRefreshDelay(1000);
configFile.setReloadingStrategy(fileChangedReloadingStrategy);
} catch (ConfigurationException e) {
//Manage the exception
}
}
/**
* Constructor por defecto.
*/
public MyAppConfig() {
super();
init();
}
public String getKey(final String key) {
try {
if (configFile.containsKey(key)) {
return configFile.getString(key);
} else {
return null;
}
} catch (ConversionException e) {
//Manage Exception
}
}
}
Теперь вам нужно создать экземпляр этого класса (синглтон) и использовать его во всех местах, где вам нужно использовать ключ конфигурации.
Каждый раз, когда вы используете метод«getKey» вы получите последнее значение ключа без развертывания и перезапуска.