commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oliver Heger <oliver.he...@oliver-heger.de>
Subject Re: [CONFIGURATION] Help with optional XML file in override section of configuration builder.
Date Tue, 15 Sep 2009 18:54:03 GMT
Martin Ritchie schrieb:
> 2009/9/14 Oliver Heger <oliver.heger@oliver-heger.de>:
>> Martin Ritchie schrieb:
>>> Hi,
>>>
>>> I have been reading the Configuration Builder docs
>>>
>>> (http://commons.apache.org/configuration/userguide/howto_configurationbuilder.html)
>>> and have been trying to get the configuration below to take my
>>> optional configuration.
>>> However, both the test.config property and the resulting file must
>>> exist even though I have marked the config as optional. Can someone
>>> with more understanding of commons configuartion take a look at the
>>> config below and point out what I've done wrong?
>>>
>>> Regards
>>> Martin
>>>
>>> <configuration>
>>>   <system/>
>>>   <override>
>>>       <xml fileName="${test.config}" config-optional="true"/>
>>>       <xml fileName="${TEST_HOME}/etc/config-systests-settings.xml"/>
>>>       <xml fileName="${TEST_HOME}/etc/config.xml"/>
>>>   </override>
>>> </configuration>
>>>
>> Maybe you can provide a short code fragment demonstrating how you load this
>> configuration. What exactly happens, do you get an exception?
>>
>> Per default, the configuration builder logs an exception if it cannot create
>> a configuration marked as optional. But this should not have any further
>> consequences.
>>
>> Oliver
> 
> Hi Oliver,
> 
> I've put the code and errors up here:
> http://pastie.org/617143
> 
> Perhaps I'm misunderstanding quite how the Configuration works. I
> would have expected that an optional value would be skipped if it
> cannot resolve the variables in the name or the file does not exist.
> 
> If the default behaviour is to create the optional configuration then
> I can understand my first exception as I have not defined variable ;
> test.config. However I can't understand the second exception occurs
> because the file does not exist and so the default behaviour of
> creating the file should proceed.
> 
> Thanks again for your help
> 
> Martin
> 

Whether the variable for the file name exists or not is not checked, the 
configuration always tries to load the file.

The second exception is probably caused by your usage of 
ConfigurationFactory. Try DefaultConfigurationBuilder instead. Its API 
is very similar to the one of ConfigurationFactory, but it is more 
powerful and thus it is recommended to use this class. IIRC 
ConfigurationFactory does not understand the "config-optional" attribute 
- it only knows the "optional" attribute.

Oliver

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
For additional commands, e-mail: user-help@commons.apache.org


Mime
View raw message