diff --git a/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/spring/cloud/zookeeper/StubRunnerSpringCloudZookeeperAutoConfiguration.java b/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/spring/cloud/zookeeper/StubRunnerSpringCloudZookeeperAutoConfiguration.java index b0ba46fbd2..48820f521b 100644 --- a/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/spring/cloud/zookeeper/StubRunnerSpringCloudZookeeperAutoConfiguration.java +++ b/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/spring/cloud/zookeeper/StubRunnerSpringCloudZookeeperAutoConfiguration.java @@ -18,7 +18,6 @@ package org.springframework.cloud.contract.stubrunner.spring.cloud.zookeeper; import org.apache.curator.framework.CuratorFramework; import org.springframework.boot.autoconfigure.AutoConfigureAfter; -import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.cloud.contract.stubrunner.StubRunning; @@ -26,7 +25,9 @@ import org.springframework.cloud.contract.stubrunner.spring.StubRunnerConfigurat import org.springframework.cloud.contract.stubrunner.spring.cloud.ConditionalOnStubbedDiscoveryDisabled; import org.springframework.cloud.contract.stubrunner.spring.cloud.StubMapperProperties; import org.springframework.cloud.contract.stubrunner.spring.cloud.StubsRegistrar; +import org.springframework.cloud.zookeeper.discovery.ConditionalOnZookeeperDiscoveryEnabled; import org.springframework.cloud.zookeeper.discovery.ZookeeperDiscoveryProperties; +import org.springframework.cloud.zookeeper.support.CuratorServiceDiscoveryAutoConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -38,10 +39,10 @@ import org.springframework.context.annotation.Configuration; * @since 1.0.0 */ @Configuration -@AutoConfigureAfter(StubRunnerConfiguration.class) -@ConditionalOnBean({ CuratorFramework.class, ZookeeperDiscoveryProperties.class}) +@AutoConfigureAfter({ StubRunnerConfiguration.class, CuratorServiceDiscoveryAutoConfiguration.class }) @ConditionalOnClass(org.apache.curator.x.discovery.ServiceInstance.class) @ConditionalOnStubbedDiscoveryDisabled +@ConditionalOnZookeeperDiscoveryEnabled @ConditionalOnProperty(value = "stubrunner.cloud.zookeeper.enabled", matchIfMissing = true) public class StubRunnerSpringCloudZookeeperAutoConfiguration { diff --git a/tests/spring-cloud-contract-stub-runner-boot-zookeeper/src/test/groovy/org/springframework/cloud/contract/stubrunner/spring/cloud/zookeeper/StubRunnerSpringCloudZookeeperAutoConfigurationSpec.groovy b/tests/spring-cloud-contract-stub-runner-boot-zookeeper/src/test/groovy/org/springframework/cloud/contract/stubrunner/spring/cloud/zookeeper/StubRunnerSpringCloudZookeeperAutoConfigurationSpec.groovy index 681011e301..475001cde7 100644 --- a/tests/spring-cloud-contract-stub-runner-boot-zookeeper/src/test/groovy/org/springframework/cloud/contract/stubrunner/spring/cloud/zookeeper/StubRunnerSpringCloudZookeeperAutoConfigurationSpec.groovy +++ b/tests/spring-cloud-contract-stub-runner-boot-zookeeper/src/test/groovy/org/springframework/cloud/contract/stubrunner/spring/cloud/zookeeper/StubRunnerSpringCloudZookeeperAutoConfigurationSpec.groovy @@ -60,8 +60,8 @@ class StubRunnerSpringCloudZookeeperAutoConfigurationSpec extends Specification @BeforeClass @AfterClass static void setupProps() { - System.clearProperty("stubrunner.stubs.repository.root"); - System.clearProperty("stubrunner.stubs.classifier"); + System.clearProperty("stubrunner.stubs.repository.root") + System.clearProperty("stubrunner.stubs.classifier") } def 'should make service discovery work'() { @@ -75,12 +75,12 @@ class StubRunnerSpringCloudZookeeperAutoConfigurationSpec extends Specification def 'should have all apps registered in Service Discovery'() { expect: - !zookeeperServiceDiscovery.getServiceDiscovery().queryForInstances('loanIssuance').empty - !zookeeperServiceDiscovery.getServiceDiscovery().queryForInstances('someNameThatShouldMapFraudDetectionServer').empty + !zookeeperServiceDiscovery.serviceDiscoveryRef.get().queryForInstances('loanIssuance').empty + !zookeeperServiceDiscovery.serviceDiscoveryRef.get().queryForInstances('someNameThatShouldMapFraudDetectionServer').empty } def cleanup() { - zookeeperServiceDiscovery?.serviceDiscovery?.close() + zookeeperServiceDiscovery?.serviceDiscoveryRef?.get()?.close() } @Configuration