Checks if config client enabled in isResolvable().
This commit is contained in:
@@ -96,7 +96,12 @@ public abstract class AbstractConfigDataLocationResolver<L extends AbstractConfi
|
||||
|
||||
public boolean isResolvable(ConfigDataLocationResolverContext context,
|
||||
String location) {
|
||||
return location.startsWith(getPrefix());
|
||||
if (!location.startsWith(getPrefix())) {
|
||||
return false;
|
||||
}
|
||||
return context.getBinder()
|
||||
.bind(ConfigClientProperties.PREFIX + ".enabled", Boolean.class)
|
||||
.orElse(true);
|
||||
}
|
||||
|
||||
protected String getPrefix() {
|
||||
|
||||
@@ -53,7 +53,8 @@ public class ConfigServiceBootstrapConfiguration {
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean(ConfigServicePropertySourceLocator.class)
|
||||
@ConditionalOnProperty(value = "spring.cloud.config.enabled", matchIfMissing = true)
|
||||
@ConditionalOnProperty(name = ConfigClientProperties.PREFIX + ".enabled",
|
||||
matchIfMissing = true)
|
||||
public ConfigServicePropertySourceLocator configServicePropertySource(
|
||||
ConfigClientProperties properties) {
|
||||
ConfigServicePropertySourceLocator locator = new ConfigServicePropertySourceLocator(
|
||||
@@ -61,7 +62,7 @@ public class ConfigServiceBootstrapConfiguration {
|
||||
return locator;
|
||||
}
|
||||
|
||||
@ConditionalOnProperty("spring.cloud.config.fail-fast")
|
||||
@ConditionalOnProperty(ConfigClientProperties.PREFIX + ".fail-fast")
|
||||
@ConditionalOnClass({ Retryable.class, Aspect.class, AopAutoConfiguration.class })
|
||||
@Configuration(proxyBeanMethods = false)
|
||||
@EnableRetry(proxyTargetClass = true)
|
||||
|
||||
@@ -26,6 +26,7 @@ import org.springframework.mock.env.MockEnvironment;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
public class ConfigServerConfigDataLocationResolverTests {
|
||||
|
||||
@@ -43,6 +44,7 @@ public class ConfigServerConfigDataLocationResolverTests {
|
||||
this.environment = new MockEnvironment();
|
||||
this.environmentBinder = Binder.get(this.environment);
|
||||
this.resolver = new ConfigServerConfigDataLocationResolver(new DeferredLog());
|
||||
when(context.getBinder()).thenReturn(environmentBinder);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -55,4 +57,10 @@ public class ConfigServerConfigDataLocationResolverTests {
|
||||
assertThat(this.resolver.isResolvable(this.context, "configserver:")).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
void isResolvableReturnsFalseWhenDisabled() {
|
||||
this.environment.setProperty(ConfigClientProperties.PREFIX + ".enabled", "false");
|
||||
assertThat(this.resolver.isResolvable(this.context, "configserver:")).isFalse();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user