public static ConcurrentCompositeConfiguration createLocalConfig(List<ConfigModel> configModelList) { ConcurrentCompositeConfiguration config = new ConcurrentCompositeConfiguration(); duplicateCseConfigToServicecomb(config, new ConcurrentMapConfiguration(new SystemConfiguration()), "configFromSystem"); duplicateCseConfigToServicecomb(config, convertEnvVariable(new ConcurrentMapConfiguration(new EnvironmentConfiguration())), "configFromEnvironment"); // If there is extra configurations, add it into config. EXTRA_CONFIG_MAP.entrySet() .stream() .filter(mapEntry -> !mapEntry.getValue().isEmpty()) .forEachOrdered(configMapEntry -> duplicateCseConfigToServicecomb(config, new ConcurrentMapConfiguration(configMapEntry.getValue()), configMapEntry.getKey())); // we have already copy the cse config to the serviceComb config when we load the config from local yaml files // hence, we do not need duplicate copy it. config.addConfiguration( new DynamicConfiguration( new MicroserviceConfigurationSource(configModelList), new NeverStartPollingScheduler()), "configFromYamlFile"); duplicateCseConfigToServicecombAtFront(config, new ConcurrentMapConfiguration(ConfigMapping.getConvertedMap(config)), "configFromMapping"); return config; }
public ArchaiusInitializingBeanPostProcessor(ConfigurableApplicationContext applicationContext, AbstractPollingScheduler pollingScheduler, SpringEnvironmentPolledConfigurationSource polledConfigurationSource, List<ClasspathPropertySource> propertyBindings) { this.applicationContext = Objects.requireNonNull(applicationContext, "applicationContext"); this.pollingScheduler = Objects.requireNonNull(pollingScheduler, "pollingScheduler"); this.polledConfigurationSource = Objects.requireNonNull(polledConfigurationSource, "polledConfigurationSource"); this.propertyBindings = propertyBindings != null ? propertyBindings : Collections.emptyList(); initPropertyBindings(); configurationInstance = new DynamicConfiguration(polledConfigurationSource, pollingScheduler); if (!ConfigurationManager.isConfigurationInstalled()) { ConfigurationManager.install(new CompositeConfiguration()); } CompositeConfiguration config = (CompositeConfiguration) ConfigurationManager.getConfigInstance(); config.addConfiguration(configurationInstance); applicationContext.getBeanFactory().registerSingleton("environmentBackedConfig", ConfigurationManager.getConfigInstance()); applicationContext.getBeanFactory().registerAlias("environmentBackedConfig", "abstractConfiguration"); }
DynamicConfiguration dbSourcedConfiguration = new DynamicConfiguration(source, scheduler); finalConfig.addConfiguration(dbSourcedConfiguration); }catch(Exception ex){
final DynamicConfiguration dynConfig = new DynamicConfiguration( new URLConfigurationSource(breakerboxConfiguration.getUrls().split(",")), tenacityPollingScheduler);
final DynamicConfiguration dynConfig = new DynamicConfiguration( new URLConfigurationSource(breakerboxConfiguration.getUrls().split(",")), tenacityPollingScheduler);
public static ConcurrentCompositeConfiguration createLocalConfig(List<ConfigModel> configModelList) { ConcurrentCompositeConfiguration config = new ConcurrentCompositeConfiguration(); duplicateCseConfigToServicecomb(config, new ConcurrentMapConfiguration(new SystemConfiguration()), "configFromSystem"); duplicateCseConfigToServicecomb(config, convertEnvVariable(new ConcurrentMapConfiguration(new EnvironmentConfiguration())), "configFromEnvironment"); // If there is extra configurations, add it into config. EXTRA_CONFIG_MAP.entrySet() .stream() .filter(mapEntry -> !mapEntry.getValue().isEmpty()) .forEachOrdered(configMapEntry -> duplicateCseConfigToServicecomb(config, new ConcurrentMapConfiguration(configMapEntry.getValue()), configMapEntry.getKey())); // we have already copy the cse config to the serviceComb config when we load the config from local yaml files // hence, we do not need duplicate copy it. config.addConfiguration( new DynamicConfiguration( new MicroserviceConfigurationSource(configModelList), new NeverStartPollingScheduler()), "configFromYamlFile"); duplicateCseConfigToServicecombAtFront(config, new ConcurrentMapConfiguration(ConfigMapping.getConvertedMap(config)), "configFromMapping"); return config; }
@Override protected AbstractConfiguration getConfiguration() { AbstractConfiguration config = ConfigurationManager.getConfigInstance(); boolean dynamic = config.getBoolean(DYNAMIC_CONFIG, true); if (!dynamic) { return new DynamicConfiguration(); } else { String appId = null; DeploymentContext context = ConfigurationManager.getDeploymentContext(); appId = context.getApplicationId(); if (appId == null) { throw new RuntimeException( "Archaius deployment context's applicationId not set (archaius.deployment.applicationId)"); } String consulHost = config.getString(CONSUL_HOST, CONSUL_DEFAULT_HOST); int consulPort = config.getInt(CONSUL_PORT, 8500); String consulAclToken = config.getString(CONSUL_TOKEN); ConsulWatchedConfigurationSource configSource = new ConsulWatchedConfigurationSource(appId, new ConsulClient(consulHost, consulPort), 30, TimeUnit.SECONDS, consulAclToken); // do the first update synchronously try { configSource.runOnce(); } catch (InterruptedException e) { Thread.currentThread().interrupt(); } configSource.startAsync(); return new DynamicWatchedConfiguration(configSource); } }