diff --git a/pom.xml b/pom.xml
index 4ec0d59d..9acd9f4b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -97,6 +97,7 @@
spring-cloud-kubernetes-integration-tests
docs
spring-cloud-kubernetes-loadbalancer
+ spring-cloud-starter-kubernetes-loadbalancer
diff --git a/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesLoadBalancerAutoConfiguration.java b/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesLoadBalancerAutoConfiguration.java
index 227d4f63..e1732219 100644
--- a/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesLoadBalancerAutoConfiguration.java
+++ b/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesLoadBalancerAutoConfiguration.java
@@ -16,6 +16,7 @@
package org.springframework.cloud.kubernetes.loadbalancer;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.cloud.kubernetes.discovery.KubernetesDiscoveryProperties;
import org.springframework.cloud.loadbalancer.annotation.LoadBalancerClients;
@@ -25,9 +26,10 @@ import org.springframework.context.annotation.Configuration;
/**
* @author Piotr Minkowski
*/
-@Configuration
-@EnableConfigurationProperties
-@LoadBalancerClients(defaultConfiguration = KubernetesClientConfiguration.class)
+@Configuration(proxyBeanMethods = false)
+@EnableConfigurationProperties(KubernetesLoadBalancerProperties.class)
+@ConditionalOnProperty("spring.cloud.kubernetes.loadbalancer.enabled")
+@LoadBalancerClients(defaultConfiguration = KubernetesLoadBalancerClientConfiguration.class)
public class KubernetesLoadBalancerAutoConfiguration {
@Bean
diff --git a/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesClientConfiguration.java b/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesLoadBalancerClientConfiguration.java
similarity index 96%
rename from spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesClientConfiguration.java
rename to spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesLoadBalancerClientConfiguration.java
index c16c9fe8..adfb8730 100644
--- a/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesClientConfiguration.java
+++ b/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesLoadBalancerClientConfiguration.java
@@ -28,7 +28,7 @@ import org.springframework.core.env.Environment;
*
* @author Piotr Minkowski
*/
-public class KubernetesClientConfiguration {
+public class KubernetesLoadBalancerClientConfiguration {
@Bean
@ConditionalOnProperty(name = "spring.cloud.kubernetes.loadbalancer.mode",
diff --git a/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesServiceInstanceMapper.java b/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesServiceInstanceMapper.java
index 2ad20252..c4826323 100644
--- a/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesServiceInstanceMapper.java
+++ b/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesServiceInstanceMapper.java
@@ -35,10 +35,6 @@ import org.springframework.cloud.kubernetes.discovery.KubernetesServiceInstance;
*/
public class KubernetesServiceInstanceMapper {
- private static final String DSL = "//";
-
- private static final String COLON = ":";
-
private final KubernetesLoadBalancerProperties properties;
private final KubernetesDiscoveryProperties discoveryProperties;
diff --git a/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesServicesListSupplier.java b/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesServicesListSupplier.java
index bf807394..463fc9ad 100644
--- a/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesServicesListSupplier.java
+++ b/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesServicesListSupplier.java
@@ -76,7 +76,7 @@ public class KubernetesServicesListSupplier implements ServiceInstanceListSuppli
result.add(mapper.map(service));
}
}
- return Flux.just(result);
+ return Flux.defer(() -> Flux.just(result));
}
}
diff --git a/spring-cloud-kubernetes-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesServiceListSupplierTests.java b/spring-cloud-kubernetes-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesServiceListSupplierTests.java
index a7059876..b0ed844c 100644
--- a/spring-cloud-kubernetes-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesServiceListSupplierTests.java
+++ b/spring-cloud-kubernetes-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesServiceListSupplierTests.java
@@ -110,7 +110,7 @@ public class KubernetesServiceListSupplierTests {
private Service buildService(String name, int port) {
return new ServiceBuilder().withNewMetadata().withName(name).endMetadata()
- .withNewSpec().addNewPort().withPort(8080).endPort().endSpec().build();
+ .withNewSpec().addNewPort().withPort(port).endPort().endSpec().build();
}
}
diff --git a/spring-cloud-starter-kubernetes-all/pom.xml b/spring-cloud-starter-kubernetes-all/pom.xml
index fd9567f0..a3f3fc73 100644
--- a/spring-cloud-starter-kubernetes-all/pom.xml
+++ b/spring-cloud-starter-kubernetes-all/pom.xml
@@ -48,7 +48,7 @@
org.springframework.cloud
- spring-cloud-starter-loadbalancer
+ spring-cloud-kubernetes-loadbalancer
diff --git a/spring-cloud-starter-kubernetes-loadbalancer/pom.xml b/spring-cloud-starter-kubernetes-loadbalancer/pom.xml
new file mode 100644
index 00000000..93c561ca
--- /dev/null
+++ b/spring-cloud-starter-kubernetes-loadbalancer/pom.xml
@@ -0,0 +1,26 @@
+
+
+
+ spring-cloud-kubernetes
+ org.springframework.cloud
+ 2.0.0-SNAPSHOT
+
+ 4.0.0
+
+ spring-cloud-starter-kubernetes-loadbalancer
+ Spring Cloud Kubernetes :: Starter :: LoadBalancer
+
+
+
+ org.springframework.cloud
+ spring-cloud-kubernetes-core
+
+
+ org.springframework.cloud
+ spring-cloud-starter-loadbalancer
+
+
+
+