[
https://issues.apache.org/jira/browse/CONFIGURATION-595?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14286225#comment-14286225
]
Oliver Heger commented on CONFIGURATION-595:
--------------------------------------------
It is correct that {{PropertiesConfiguration}} does not support optional
includes.
However, you can achieve something similar - and more flexible and powerful -
with {{CombinedConfigurationBuilder}} (or {{DefaultConfigurationBuilder}} if
you are still using version 1.10). This class allows constructing a combined
configuration from an arbitrary number of configuration sources. Optional
sources are supported as well. This is described in the user's guide at
http://commons.apache.org/proper/commons-configuration/userguide/howto_combinedbuilder.html#Optional_configuration_sources
Please have a look and tell us whether this fits your needs. I am a bit
reluctant of extending the include mechanism of {{PropertiesConfiguration}}
because it is a specific feature of this class and not supported by other
configuration implementations - especially if combined configuration sources
offer a super set of the functionality available.
> need optional include without exception
> ---------------------------------------
>
> Key: CONFIGURATION-595
> URL: https://issues.apache.org/jira/browse/CONFIGURATION-595
> Project: Commons Configuration
> Issue Type: Improvement
> Components: Expression engine
> Affects Versions: 2.x, 1.10
> Reporter: ryenus
>
> I'm trying to include a server local properties file during initialization of
> a distributed application.
> The file to be included might not exist on some of the servers, and this
> should be fine in terms of our application logic.
> But this is not possible with commons configuration, inside
> org.apache.commons.configuration.PropertiesConfiguration.loadIncludeFile(String),
> when an included file doesn't exist, namely the resolved url would be null,
> it always throws a ConfigurationException.
> See:
> https://github.com/apache/commons-configuration/blob/trunk/src/main/java/org/apache/commons/configuration2/PropertiesConfiguration.java#L1414
> This might be good to ensure configuration integrity, but looking around, for
> bash, ~/.bashrc is optional, for maven, ~/.m2/settings.xml is optional, I
> wish there could be a way to do the same in commons configurations.
> One way is to skip the exception, and print a warning to stderr (or some
> better logging options).
> Alternatively, an `optionalInclude` key can be introduced to serve this
> purpose.
> Thanks!
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)