/** * Creates and registers a RemotePropertiesConfigurationSource for each configuration url */ private void addRemotePropertiesConfigurationSources(ConfigurationRegistry configuration, CorePlugin corePlugin) { final List<URL> configurationUrls = corePlugin.getRemotePropertiesConfigUrls(); if (corePlugin.isDeactivateStagemonitorIfRemotePropertyServerIsDown()) { assertRemotePropertiesServerIsAvailable(configurationUrls.get(0)); } logger.debug("Loading RemotePropertiesConfigurationSources with: configurationUrls = " + configurationUrls); final HttpClient sharedHttpClient = new HttpClient(); for (URL configUrl : configurationUrls) { final RemotePropertiesConfigurationSource source = new RemotePropertiesConfigurationSource( sharedHttpClient, configUrl); configuration.addConfigurationSourceAfter(source, SimpleSource.class); } configuration.reloadAllConfigurationOptions(); }
private void addElasticsearchConfigurationSources(ConfigurationRegistry configuration, CorePlugin corePlugin, Collection<String> elasticsearchConfigurationSourceIds) { ElasticsearchClient elasticsearchClient = configuration.getConfig(CorePlugin.class).getElasticsearchClient(); if (corePlugin.isDeactivateStagemonitorIfEsConfigSourceIsDown()) { assertElasticsearchIsAvailable(elasticsearchClient, corePlugin); } for (String configurationId : elasticsearchConfigurationSourceIds) { final ElasticsearchConfigurationSource esSource = new ElasticsearchConfigurationSource(elasticsearchClient, configurationId); configuration.addConfigurationSourceAfter(esSource, SimpleSource.class); } configuration.reloadAllConfigurationOptions(); }
@Test public void testCachingAndReload() { assertEquals("testCaching", testCaching.getValue()); configSource.add("testCaching", "testCaching2"); assertEquals("testCaching", testCaching.getValue()); configuration.reloadDynamicConfigurationOptions(); assertEquals("testCaching", testCaching.getValue()); configuration.reloadAllConfigurationOptions(); assertEquals("testCaching2", testCaching.getValue()); }
@Test public void testUpdateConfigurationWrongDatatype() throws IOException { configuration.addConfigurationSource(SimpleSource.forTest("stagemonitor.internal.monitoring", "1")); configuration.reloadAllConfigurationOptions(); assertFalse(corePlugin.isInternalMonitoringActive()); assertEquals("Error in Test Configuration Source: Can't convert '1' to Boolean.", configuration.getConfigurationOptionByKey("stagemonitor.internal.monitoring").getErrorMessage()); configuration.save("stagemonitor.internal.monitoring", "true", "Test Configuration Source"); assertTrue(corePlugin.isInternalMonitoringActive()); assertNull(configuration.getConfigurationOptionByKey("stagemonitor.internal.monitoring").getErrorMessage()); }