2011-02-25 14 views
12

Tengo un archivo conf principal que cargo usando la clase de configuración común de apache. Tengo un requisito donde el usuario puede especificar un archivo conf y los valores en esos archivos anularán los valores en conf principal.Cómo cargar múltiples archivos de configuración usando la configuración común de apache (java)

Por favor sugiérame cómo podemos hacer eso en la clase de configuración común de apache o en cualquier otra clase de código abierto para lograr esto.

Gracias de antemano

Respuesta

12

creo que usted quiere algo similar a the mechanism described here:

CompositeConfiguration config = new CompositeConfiguration(); 
config.addConfiguration(new PropertiesConfiguration("user.properties")); 
config.addConfiguration(
    new PropertiesConfiguration("application.properties")); 
// user preferences have precedence over application preferences 

Referencia:

+0

Creé un archivo "loader.properties" que tiene dos líneas, include = a.properties e include = b.properties. Aún incluye las a.properties pero no las b.properties. Utilicé PropertyConfiguration para cargar el archivo "loader.properties". ¿Sabes por qué? – Sujoy

0

Con cfg4j:

// Specify which files to load. Configuration from both files will be merged. 
ConfigFilesProvider configFilesProvider =() -> Arrays.asList(new File("application.properties"), new File("otherConfig.properties")); 

// Use local files as configuration store 
ConfigurationSource source = new FilesConfigurationSource(configFilesProvider); 

luego usarlo en una forma estándar para obtener las propiedades a cabo.

Cuestiones relacionadas