2009-11-02 24 views
12

sto scrivendo app java standalone per il monitoraggio della produzione. una volta avviata, l'API viene configurata per i valori predefiniti impostati nel file .properties. nello stato di esecuzione è possibile modificare la configurazione dell'API e il file .properties deve essere aggiornato di conseguenza. c'è un modo per ottenere questo? o ci sono altri approcci per implementare questo?proprietà aggiornamento file java tempo di esecuzione

Grazie in anticipo

risposta

16

La classe proprietà Java (api here) specifica "carico" e metodi di "store", che dovrebbe fare esattamente questo. Utilizzare FileInputStream e FileOutputStream per specificare il file in cui salvarlo.

9

Si potrebbe utilizzare un approccio molto semplice in base alla classe java.util.Properties che ha davvero un load e store metodi che è possibile utilizzare in combinazione con un FileInputStream e FileOutputStream:

Ma in realtà, vi consiglio di utilizzare un libreria di configurazione esistente come Commons Configuration (tra gli altri). Controlla il Properties Howto per vedere come caricare, salvare e ricaricare automaticamente un file delle proprietà usando la sua API.

0

Oltre al metodo della classe Propertiesload e store, è anche possibile utilizzare la libreria di configurazione di Apache Commons, che fornisce funzioni per manipolare facilmente i file di configurazione (e non .Properties solo i file).

0

L'API di configurazione comune di Apache ha fornito diverse strategie per ricaricare i file di proprietà in fase di esecuzione. FileChangedReloadingStrategy è uno di questi. Fare riferimento a questo link per visualizzare un esempio per il file di proprietà che si ricarica in fase di esecuzione utilizzando FileChangedReloadingStrategy.

3

Sono completamente d'accordo sul fatto che Apache Commons Configuration API sia davvero una buona scelta.

Questo esempio proprietà aggiornamento in fase di runtime

File propertiesFile = new File(getClass().getClassLoader().getResource(fileName).getFile());   
PropertiesConfiguration config = new PropertiesConfiguration(propertiesFile);   
config.setProperty("hibernate.show_sql", "true"); 
config.save(); 

Dal posto di how to update properties file in Java

Spero che questo aiuto!

Problemi correlati