commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "raghutpk (Updated) (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CONFIGURATION-467) Unable to persist CombinedConfiguration changes to the Filesystem.
Date Fri, 21 Oct 2011 15:02:32 GMT

     [ https://issues.apache.org/jira/browse/CONFIGURATION-467?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

raghutpk updated CONFIGURATION-467:
-----------------------------------

    Comment: was deleted

(was: Thank you very much for the early response. I really apprecieate that. The temporarily
proposed solution doesn't seem to work on the scenario given. I added the autoSave="true"
for all the config sources in config.xml as specified, but
{code:java}
combinedConfig.setProperty("Key","updatedValue");
{code}
doesn't still persist to the Filesystem.
{code:java}
System.out.println(combinedConfig.getProperty("Key"));
{code}
The above code will give me the updatedValue(but it is temporary as only the object in memory
is modified) but still I have no way to persist it back to the filesyatem. Anthing else could
be done to the CombinedConfig object so as to acheieve the objective.

I can attach the screenshots if necessary
)
    
> Unable to persist CombinedConfiguration changes to the Filesystem.
> ------------------------------------------------------------------
>
>                 Key: CONFIGURATION-467
>                 URL: https://issues.apache.org/jira/browse/CONFIGURATION-467
>             Project: Commons Configuration
>          Issue Type: Improvement
>          Components: File reloading
>    Affects Versions: 1.6
>         Environment: Linux java
>            Reporter: raghutpk
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> I use a config.xml file to load multiple Configuration Sources 
> Ex: 
> {code:xml}
> <configuration>
>   <header/>
>   <override>
>     <properties fileName="db.properties"/>
>     <properties fileName="jms.properties"/>
>     <xml fileName="gui.xml"/>
>   </override>
>   <additional/>
> </configuration>
> {code}
> I load the config.xml and subsequently all the properties in my app to a CombinedConfiguration
Object as follows :
> {code:java}
> DefaultConfigurationBuilder builder = new DefaultConfigurationBuilder();
> builder.setFile(new File("config.xml"));
> CombinedConfiguration combinedConfig = builder.getConfiguration(true);
> {code}
> 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.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message