Я планирую использовать Spring Boot для своего задания. Это типичное серверное приложение с подключением к базе данных. Я знаю, что могу использовать Spring Configuration для экстернализации моих свойств, например подробности подключения к базе данных. Но у меня также есть другие динамические свойства, которые нужно обновлять во время выполнения. например ласты / флажки. Некоторыми функциями моего приложения нужно управлять динамически, например. представьте себе такое свойство, как app.cool-feature.enable = true, а затем через некоторое время эта же функция будет отключена с помощью app.cool-feature.enable = false
Любые предложения, как лучше всего использовать такое динамическое поведение во время выполнения? Я могу придумать следующие варианты, чтобы вызвать изменение ...
- Отправить JMS-сообщение экземпляру сервера с указанным выше изменением свойства
- Вызвать открытую конечную точку API на экземпляре сервера, например. POST http://myapp/admin/config/update {"config": {"app.cool- feature.enable ": true}}"
Я знаю, что могу написать свой собственный код, реализующий это (это будет в третий раз), но мне просто интересно, существует ли уже стандартный способ / обычная практика в отношении конфигураций динамических свойств, о которых я не знаю. Также было бы здорово, если бы он мог работать с другими решениями, такими как Apache ZooKeeper, coreos etcd, куратором Netflix и т. Д., И иметь тесную интеграцию со Spring.
Мысли?