Evitare di utilizzare un DB per archiviare un piccolo set di dati su un'app Java EE
-
06-07-2019 - |
Domanda
Ho una piccola app JSF e vorrei mantenere un po 'di stato sul server, senza usare un DB. Sarà solo una piccola stringa per ogni utente, quindi non vedo il punto di distribuire un RDMS per questo.
Soluzione
Utilizza un file delle proprietà: http://www.exampledepot.com/ EGS / java.util / Props.html
Altri suggerimenti
Dai un'occhiata alla API delle preferenze Java che può memorizzare informazioni per sistema o per utente (non così rilevanti per questo scenario)
Le applicazioni richiedono preferenza e dati di configurazione per adattarsi a esigenze di diversi utenti e ambienti. Il java.util.prefs pacchetto fornisce un modo per applicazioni da archiviare e recuperare preferenze dell'utente e del sistema e dati di configurazione. I dati sono memorizzati persistentemente in un supporto dipendente dall'implementazione memorizzare. Ci sono due alberi separati di nodi di preferenza, uno per l'utente preferenze e una per il sistema preferenze.
Potresti utilizzare Derby che rende la distribuzione di un RDBMS meno di un "punto " .
In alternativa, puoi utilizzare un diskPersistent
Ehcache - lo usi in modo simile a un Mappa ma i dati persistono durante i riavvii. Dovrai assicurarti che la tua JVM sia ben chiusa o che un elemento in memoria possa perdersi (puoi assicurarti che gli elementi vengano scritti immediatamente in un file impostando maxElementsInMemory
su 0 però)
Penso che sia anche logico utilizzare una soluzione di memorizzazione nella cache per questo caso. jBoss tree cache, ad esempio, è possibile definire un'area specifica per memorizzare piccole voci.