diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/ribbon/RibbonLoadBalancerClient.java b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/ribbon/RibbonLoadBalancerClient.java index 155ed24f..80996576 100644 --- a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/ribbon/RibbonLoadBalancerClient.java +++ b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/ribbon/RibbonLoadBalancerClient.java @@ -1,18 +1,21 @@ package org.springframework.cloud.netflix.ribbon; -import java.net.URI; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.concurrent.TimeUnit; - import com.google.common.base.Throwables; -import com.netflix.loadbalancer.*; +import com.netflix.loadbalancer.BaseLoadBalancer; +import com.netflix.loadbalancer.ILoadBalancer; +import com.netflix.loadbalancer.Server; +import com.netflix.loadbalancer.ServerStats; import com.netflix.servo.monitor.Stopwatch; import org.springframework.cloud.client.ServiceInstance; import org.springframework.cloud.client.loadbalancer.LoadBalancerClient; import org.springframework.cloud.client.loadbalancer.LoadBalancerRequest; +import java.net.URI; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.TimeUnit; + /** * @author Spencer Gibb * @author Dave Syer @@ -23,8 +26,8 @@ public class RibbonLoadBalancerClient implements LoadBalancerClient { private SpringClientFactory clientFactory; - private Map balancers = new HashMap<>(); - private Map contexts = new HashMap<>(); + private Map balancers = new ConcurrentHashMap<>(); + private Map contexts = new ConcurrentHashMap<>(); public RibbonLoadBalancerClient(RibbonClientPreprocessor ribbonClientPreprocessor, SpringClientFactory clientFactory, List balancers) { this.ribbonClientPreprocessor = ribbonClientPreprocessor;