Ho intenzione di utilizzare Spring Boot per il mio incarico. È una tipica applicazione server con connessione al database. So che posso usare Spring Configuration per esternare le mie proprietà, ad es. Dettagli della connessione db. Ma ho anche altre proprietà dinamiche che devono essere aggiornate in fase di runtime. per esempio. pinne/flag di funzionalità. Alcune funzioni della mia applicazione devono essere controllate dinamicamente, ad es. immaginare una proprietà come app.cool-feature.enable = true e poi dopo un po 'la stessa caratteristica sarebbe stata disattivata per app.cool-feature.enable = falseCome configurare le proprietà dinamiche mentre si utilizza l'avvio a molla?
Qualche suggerimento che cosa è la migliore pratica circa l'ingestione di un comportamento così dinamico in fase di runtime? Mi vengono in mente le seguenti opzioni per attivare il cambiamento ...
- Invia un messaggio JMS a istanza del server con cambio al di sopra di proprietà
- chiamata un'API endpoint esposto nell'istanza del server per esempio POST http://myapp/admin/config/update { "config": { "app.cool-feature.enable": true} }
So che posso scrivere il mio codice personalizzato del presente (sarebbe per il 3 ° tempo), ma mi chiedo solo se esiste già un modo standard/pratica comune per le configurazioni di proprietà dinamiche di cui non sono a conoscenza. Sarebbe anche bello poter lavorare con altre soluzioni come Apache ZooKeeper, coreos etcd, Netflix curator etc e avere una stretta integrazione con Spring.
Pensieri?