Modifica messaggio senza ridistribuzione / riavvio dell'applicazione

1

Domanda: nell'applicazione java, come modificare un messaggio di errore o un semplice testo di avviso senza ridistribuire / riavviare l'applicazione

Le risposte più ravvicinate che potrei pensare (1) è di avere un nuovo messaggio di errore in un file specifico in una posizione specifica, diciamo "\root\resources\messages.txt" e di creare un oggetto file simile.

File msgFile = new File("\root\resources\messages.txt");

msgFile.exist() restituirà vero o falso in base al risultato che possiamo visualizzare il messaggio predefinito definito altrove dove nell'applicazione o utilizzare questo messaggio

(2) avere un file di proprietà può suonare lo stesso, ma verrà caricato solo una volta all'avvio dell'applicazione, quindi dobbiamo riavviare

C'è un altro modo per raggiungere questo obiettivo? quale posto migliore per chiedere rispetto a qui ..

    
posta Shiva 12.09.2014 - 13:49
fonte

2 risposte

4

Il modo più comune per gestire i messaggi di aggiornamento senza ridistribuire / riavviare è tramite database o sistema simile come il file che hai proposto. Un'altra opzione è quella di aggiungere funzionalità all'app stessa per modificare i messaggi, questo farebbe uso del file delle proprietà.

L'utilizzo di un database è probabilmente l'approccio migliore, soprattutto se hai già un set per la tua app, la manutenzione e la scalabilità sono solo migliori qui. Potresti utilizzare un file in anticipo, soprattutto se hai solo pochi messaggi da archiviare, ci sarebbe un hit di I / O, ma non dovrebbe essere notevolmente diverso da quello che richiama altri metodi per ottenere un messaggio dinamico. Il grosso problema con l'utilizzo di un file è che il costo dell'IO aumenterà con l'aumento della dimensione del file se si memorizzano i messaggi in modo sequenziale. Se si utilizzano più file, la gestione del numero di file diventa difficile. È possibile creare un file con un fisso per ogni messaggio e tenere traccia della posizione di ciascun messaggio nel file per ridurre i costi di I / O di un file di grandi dimensioni (ad esempio, creare un file binario), ma a questo punto un database sarebbe meno lavoro.

    
risposta data 12.09.2014 - 15:34
fonte
0

Ovviamente il messaggio deve essere definito all'esterno dell'applicazione, quindi la soluzione più semplice è inserirla in un file. Ma non vuoi leggere un file ogni volta che vuoi visualizzare l'avviso; questo è un sacco di IO inutili. Puoi utilizzare l'API Java Watch Service per verificare se il file contenente il messaggio è cambiato, altrimenti puoi continuare a visualizzare lo stesso messaggio dall'ultima volta che hai letto il file.

Puoi trovare un tutorial qui .

    
risposta data 12.09.2014 - 14:53
fonte

Leggi altre domande sui tag