Updates ConsulBootstrapper with more general helper.

This commit is contained in:
spencergibb
2020-09-17 18:11:04 -04:00
parent a98cde9bdb
commit 7042018d42
2 changed files with 7 additions and 2 deletions

View File

@@ -20,16 +20,21 @@ import java.util.function.Function;
import com.ecwid.consul.v1.ConsulClient;
import org.springframework.boot.BootstrapContext;
import org.springframework.boot.Bootstrapper;
import org.springframework.cloud.consul.ConsulProperties;
public abstract class ConsulBootstrapper {
static Bootstrapper withConsulClient(Function<ConsulProperties, ConsulClient> factory) {
static Bootstrapper fromConsulProperties(Function<ConsulProperties, ConsulClient> factory) {
return registry -> registry.register(ConsulClient.class, context -> {
ConsulProperties properties = context.get(ConsulProperties.class);
return factory.apply(properties);
});
}
static Bootstrapper fromBootstrapContext(Function<BootstrapContext, ConsulClient> factory) {
return registry -> registry.register(ConsulClient.class, factory::apply);
}
}

View File

@@ -54,7 +54,7 @@ public class ConsulConfigDataCustomizationIntegrationTests {
SpringApplication application = new SpringApplication(Config.class);
application.setWebApplicationType(WebApplicationType.NONE);
application.addBootstrapper(ConsulBootstrapper.withConsulClient(TestConsulClient::new));
application.addBootstrapper(ConsulBootstrapper.fromConsulProperties(TestConsulClient::new));
context = application.run("--spring.application.name=" + APP_NAME,
"--spring.config.import=consul:" + ConsulTestcontainers.getHost() + ":"
+ ConsulTestcontainers.getPort(),