commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From raghunath tpk <>
Subject [configuration] Unable to persist CombinedConfiguration changes to the Filesystem.
Date Fri, 21 Oct 2011 20:49:28 GMT

I am using apache commons configuration to load the configuration data from
various sources.

Following is the issue :

I use a config.xml file to load multiple Configuration Sources
<properties fileName=""/>
<properties fileName=""/>
<xml fileName="gui.xml"/>

I load the config.xml and subsequently all the properties in my app to a
CombinedConfiguration Object as follows :

DefaultConfigurationBuilder builder = new DefaultConfigurationBuilder();
builder.setFile(new File("config.xml"));
CombinedConfiguration combinedConfig = builder.getConfiguration(true);

Now I am trying to expose all the properties from all configuration sources
using a mbean and at runtime trying to update the Properties. I wouldn't
know though, from which source the properties came from as the
CombinedConfiguration takes care of that abstraction, but when I do the
following it doesn't change the persistance store(in this case the files on
the Filesystem).
/*combinedConfig.setProperty(Key, updatedValue);*/

There is no save method on the combinedConfiguration class so that the
persistance store gets updated.
There is a save method in PropertiesConfiguration class or XMLConfiguration
class, but I wouldn't know at runtime or inside the code which file or
configuration source the Key belongs to, so even If I add a config-name to
each source there is no use.

SO wouldn't the setProperty help me update the value of the Configuration
and persist it back to the original file. I don't know it is a bug or a
feature it doesn't support or there is a workaround in such scenarios.

Please advice.


  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message