Search in sources :

Example 16 with ConcurrentCompositeConfiguration

use of com.netflix.config.ConcurrentCompositeConfiguration in project chassis by Kixeye.

the class ConfigurationBuilder method initApplicationFileConfiguration.

@SuppressWarnings({ "unchecked", "rawtypes" })
private void initApplicationFileConfiguration() {
    if (applicationPropertiesPath == null) {
        LOGGER.debug("No client application properties to configure. Skipping...");
        applicationFileConfiguration = new ConcurrentMapConfiguration();
        return;
    }
    this.applicationFileConfiguration = new ConcurrentCompositeConfiguration();
    String path = SystemPropertyUtils.resolvePlaceholders(applicationPropertiesPath);
    LOGGER.debug("Configuring client application properties from path " + applicationPropertiesPath);
    Map applicationProperties = new Properties();
    if (SystemUtils.IS_OS_WINDOWS) {
        if (path.startsWith("file://")) {
            if (!path.startsWith("file:///")) {
                path = path.replaceFirst(Pattern.quote("file://"), "file:///");
            }
        }
    }
    try (InputStream is = resourceLoader.getResource(path).getInputStream()) {
        ((Properties) applicationProperties).load(is);
    } catch (Exception e) {
        BootstrapException.resourceLoadingFailed(path, applicationPropertiesPath, e);
    }
    Map environmentApplicationProperties = getEnvironmentSpecificProperties(path);
    if (environmentApplicationProperties != null) {
        ((ConcurrentCompositeConfiguration) this.applicationFileConfiguration).addConfiguration(new ConcurrentMapConfiguration(environmentApplicationProperties));
    }
    ((ConcurrentCompositeConfiguration) this.applicationFileConfiguration).addConfiguration(new ConcurrentMapConfiguration(applicationProperties));
    if (applicationFileConfiguration.containsKey(BootstrapConfigKeys.PUBLISH_DEFAULTS_KEY.getPropertyName())) {
        this.publishDefaults = applicationFileConfiguration.getBoolean(BootstrapConfigKeys.PUBLISH_DEFAULTS_KEY.getPropertyName());
    }
}
Also used : ConcurrentMapConfiguration(com.netflix.config.ConcurrentMapConfiguration) InputStream(java.io.InputStream) Properties(java.util.Properties) ConcurrentCompositeConfiguration(com.netflix.config.ConcurrentCompositeConfiguration) HashMap(java.util.HashMap) Map(java.util.Map) BootstrapException(com.kixeye.chassis.bootstrap.BootstrapException) IOException(java.io.IOException) FileNotFoundException(java.io.FileNotFoundException) ApplicationConfigurationNotFoundException(com.kixeye.chassis.bootstrap.BootstrapException.ApplicationConfigurationNotFoundException)

Example 17 with ConcurrentCompositeConfiguration

use of com.netflix.config.ConcurrentCompositeConfiguration in project chassis by Kixeye.

the class ConfigurationBuilder method build.

/**
     * Build the Configuration
     *
     * @return the configuration
     */
public AbstractConfiguration build() {
    initApplicationFileConfiguration();
    initAppVersion();
    initApplicationConfiguration();
    initModuleConfiguration();
    ConcurrentCompositeConfiguration finalConfiguration = new ConcurrentCompositeConfiguration();
    if (addSystemConfigs) {
        finalConfiguration.addConfiguration(new ConcurrentMapConfiguration(new SystemConfiguration()));
    }
    finalConfiguration.addProperty(BootstrapConfigKeys.APP_VERSION_KEY.getPropertyName(), appVersion);
    addServerInstanceProperties(finalConfiguration);
    if (applicationConfiguration == null) {
        LOGGER.warn("\n\n    ****** Default configuration being used ******\n    client application \"" + appName + "\" is being configured with modules defaults. Defaults should only be used in development environments.\n    In non-developement environments, a configuration provider should be used to configure the client application and it should define ALL required configuration properties.\n");
        finalConfiguration.addConfiguration(applicationFileConfiguration);
        finalConfiguration.addConfiguration(moduleDefaultConfiguration);
    } else {
        finalConfiguration.addConfiguration(applicationConfiguration);
        finalConfiguration.addConfiguration(applicationFileConfiguration);
    }
    finalConfiguration.setProperty(BootstrapConfigKeys.APP_VERSION_KEY.getPropertyName(), appVersion);
    configureArchaius(finalConfiguration);
    logConfiguration(finalConfiguration);
    return finalConfiguration;
}
Also used : ConcurrentMapConfiguration(com.netflix.config.ConcurrentMapConfiguration) SystemConfiguration(org.apache.commons.configuration.SystemConfiguration) ConcurrentCompositeConfiguration(com.netflix.config.ConcurrentCompositeConfiguration)

Example 18 with ConcurrentCompositeConfiguration

use of com.netflix.config.ConcurrentCompositeConfiguration in project chassis by Kixeye.

the class CuratorFrameworkBuilder method buildConfiguration.

private ConcurrentCompositeConfiguration buildConfiguration() {
    ConcurrentCompositeConfiguration configuration = new ConcurrentCompositeConfiguration();
    configuration.addConfiguration(new ConcurrentMapConfiguration(new SystemConfiguration()));
    configuration.addConfiguration(this.configuration);
    configuration.addConfiguration(defaults);
    return configuration;
}
Also used : ConcurrentMapConfiguration(com.netflix.config.ConcurrentMapConfiguration) SystemConfiguration(org.apache.commons.configuration.SystemConfiguration) ConcurrentCompositeConfiguration(com.netflix.config.ConcurrentCompositeConfiguration)

Example 19 with ConcurrentCompositeConfiguration

use of com.netflix.config.ConcurrentCompositeConfiguration in project java-chassis by ServiceComb.

the class TestPropertiesLoader method init.

@BeforeClass
public static void init() {
    ConcurrentCompositeConfiguration finalConfig = new ConcurrentCompositeConfiguration();
    YAMLConfigurationSource yamlConfigurationSource = new YAMLConfigurationSource();
    DynamicConfiguration configFromYamlFile = new DynamicConfiguration(yamlConfigurationSource, new NeverStartPollingScheduler());
    finalConfig.addConfiguration(configFromYamlFile, "configFromYamlFile");
    ConfigurationManager.install(finalConfig);
}
Also used : DynamicConfiguration(com.netflix.config.DynamicConfiguration) YAMLConfigurationSource(io.servicecomb.config.archaius.sources.YAMLConfigurationSource) ConcurrentCompositeConfiguration(com.netflix.config.ConcurrentCompositeConfiguration) NeverStartPollingScheduler(io.servicecomb.config.archaius.scheduler.NeverStartPollingScheduler) BeforeClass(org.junit.BeforeClass)

Example 20 with ConcurrentCompositeConfiguration

use of com.netflix.config.ConcurrentCompositeConfiguration in project java-chassis by ServiceComb.

the class CseAutoConfiguration method addArchaiusConfiguration.

private void addArchaiusConfiguration(ConcurrentCompositeConfiguration config) {
    if (ConfigurationManager.isConfigurationInstalled()) {
        AbstractConfiguration installedConfiguration = ConfigurationManager.getConfigInstance();
        if (installedConfiguration instanceof ConcurrentCompositeConfiguration) {
            ConcurrentCompositeConfiguration configInstance = (ConcurrentCompositeConfiguration) installedConfiguration;
            configInstance.addConfiguration(config);
        } else {
            installedConfiguration.append(config);
        //                if (!(installedConfiguration instanceof AggregatedConfiguration)) {
        //                    //log.warn(
        //                    //  "Appending a configuration to an existing non-aggregated 
        //                    //installed configuration will have no effect");
        //                }
        }
    } else {
        ConfigurationManager.install(config);
    }
}
Also used : AbstractConfiguration(org.apache.commons.configuration.AbstractConfiguration) ConcurrentCompositeConfiguration(com.netflix.config.ConcurrentCompositeConfiguration)

Aggregations

ConcurrentCompositeConfiguration (com.netflix.config.ConcurrentCompositeConfiguration)21 ConcurrentMapConfiguration (com.netflix.config.ConcurrentMapConfiguration)11 AbstractConfiguration (org.apache.commons.configuration.AbstractConfiguration)8 SystemConfiguration (org.apache.commons.configuration.SystemConfiguration)8 Test (org.junit.Test)7 DynamicConfiguration (com.netflix.config.DynamicConfiguration)5 NeverStartPollingScheduler (io.servicecomb.config.archaius.scheduler.NeverStartPollingScheduler)4 YAMLConfigurationSource (io.servicecomb.config.archaius.sources.YAMLConfigurationSource)4 BootstrapException (com.kixeye.chassis.bootstrap.BootstrapException)3 ExpandedConfigurationListenerAdapter (com.netflix.config.ExpandedConfigurationListenerAdapter)3 IOException (java.io.IOException)3 HashMap (java.util.HashMap)3 Configuration (org.apache.commons.configuration.Configuration)3 DynamicWatchedConfiguration (com.netflix.config.DynamicWatchedConfiguration)2 IdentityHashMap (java.util.IdentityHashMap)2 Map (java.util.Map)2 CombinedConfiguration (org.apache.commons.configuration.CombinedConfiguration)2 EnvironmentConfiguration (org.apache.commons.configuration.EnvironmentConfiguration)2 PropertiesConfiguration (org.apache.commons.configuration.PropertiesConfiguration)2 TestingServer (org.apache.curator.test.TestingServer)2