[ 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)