Сделаем простой reload: читаем .properties и обновляем значения в памяти.
Указываем путь к конфиг-файлу:
var path = java.nio.file.Path.of("config.properties");
var props = new java.util.Properties();Функция загрузки настроек из файла:
void load() throws Exception {
try (var in = java.nio.file.Files.newInputStream(path)) {
props.clear();
props.load(in);
}
}Читаем конкретный параметр из конфига:
String get(String key) {
return props.getProperty(key);
}Перезагружаем конфиг в любой момент:
load();
System.out.println("port=" + get("server.port"));
Пример файла
config.properties:server.port=8080
feature.newLogin=true
limit.requests=100
Теперь настройки можно менять прямо в файле, не перезапуская приложение. Достаточно вызвать load() и новые значения сразу применятся. Так работают динамические конфиги в реальных сервисах.
👉 Java Ready | #практика