Merge branch '1.3.x'

This commit is contained in:
Spencer Gibb
2017-11-28 20:04:25 -05:00
3 changed files with 17 additions and 8 deletions

View File

@@ -26,6 +26,7 @@ import org.springframework.beans.factory.support.BeanDefinitionRegistryPostProce
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration;
import org.springframework.cloud.context.environment.EnvironmentManager;
import org.springframework.cloud.context.refresh.ContextRefresher;
@@ -47,6 +48,7 @@ import org.springframework.stereotype.Component;
*/
@Configuration
@ConditionalOnClass(RefreshScope.class)
@ConditionalOnProperty(name = "spring.cloud.refresh.enabled", matchIfMissing = true)
//TODO: support reactive
@AutoConfigureAfter(WebMvcAutoConfiguration.class)
public class RefreshAutoConfiguration {

View File

@@ -45,15 +45,16 @@ import org.springframework.integration.monitor.IntegrationMBeanExporter;
*/
@Configuration
@ConditionalOnClass(Health.class)
@AutoConfigureAfter(EndpointAutoConfiguration.class)
@AutoConfigureAfter({EndpointAutoConfiguration.class, RefreshAutoConfiguration.class})
@Import({ RestartEndpointWithIntegrationConfiguration.class,
RestartEndpointWithoutIntegrationConfiguration.class,
PauseResumeEndpointsConfiguration.class })
public class RefreshEndpointAutoConfiguration {
@Bean
@ConditionalOnBean(RefreshScope.class)
@ConditionalOnMissingBean
@ConditionalOnEnabledHealthIndicator("refresh")
@Bean
RefreshScopeHealthIndicator refreshScopeHealthIndicator(RefreshScope scope,
ConfigurationPropertiesRebinder rebinder) {
return new RefreshScopeHealthIndicator(scope, rebinder);

View File

@@ -10,10 +10,8 @@ import org.springframework.boot.test.rule.OutputCapture;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.Configuration;
import static org.hamcrest.CoreMatchers.containsString;
import static org.hamcrest.CoreMatchers.not;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import static org.assertj.core.api.Assertions.assertThat;
/**
* @author Dave Syer
@@ -27,8 +25,16 @@ public class RefreshAutoConfigurationTests {
public void noWarnings() {
try (ConfigurableApplicationContext context = getApplicationContext(
Config.class)) {
assertTrue(context.containsBean("refreshScope"));
assertThat(output.toString(), not(containsString("WARN")));
assertThat(context.containsBean("refreshScope")).isTrue();
assertThat(output.toString()).doesNotContain("WARN");
}
}
@Test
public void disabled() {
try (ConfigurableApplicationContext context = getApplicationContext(
Config.class, "spring.cloud.refresh.enabled:false")) {
assertThat(context.containsBean("refreshScope")).isFalse();
}
}