diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/metrics/atlas/AtlasConfiguration.java b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/metrics/atlas/AtlasConfiguration.java index df61f7df..a2f8e4cb 100644 --- a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/metrics/atlas/AtlasConfiguration.java +++ b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/metrics/atlas/AtlasConfiguration.java @@ -17,6 +17,7 @@ import java.util.Collection; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.actuate.metrics.export.Exporter; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -42,6 +43,10 @@ public class AtlasConfiguration { @Autowired(required = false) private Collection tagProviders; + @Autowired(required = false) + @Qualifier("atlasRestTemplate") + private RestTemplate restTemplate = new RestTemplate(); + @Bean public AtlasMetricObserverConfigBean atlasObserverConfig() { return new AtlasMetricObserverConfigBean(); @@ -49,7 +54,7 @@ public class AtlasConfiguration { @Bean @ConditionalOnMissingBean - public AtlasMetricObserver atlasObserver(AtlasMetricObserverConfigBean atlasObserverConfig, RestTemplate restTemplate) { + public AtlasMetricObserver atlasObserver(AtlasMetricObserverConfigBean atlasObserverConfig) { BasicTagList tags = (BasicTagList) BasicTagList.EMPTY; if (tagProviders != null) { for (AtlasTagProvider tagProvider : tagProviders) { diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/metrics/atlas/AtlasExporterTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/metrics/atlas/AtlasExporterTests.java index bc879307..a1e80c6c 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/metrics/atlas/AtlasExporterTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/metrics/atlas/AtlasExporterTests.java @@ -18,9 +18,9 @@ import java.util.Properties; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.cloud.client.loadbalancer.LoadBalanced; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.support.PropertySourcesPlaceholderConfigurer; @@ -41,10 +41,10 @@ import com.netflix.servo.monitor.DynamicCounter; @RunWith(SpringJUnit4ClassRunner.class) public class AtlasExporterTests { @Autowired - RestTemplate restTemplate; + private RestTemplate restTemplate; @Autowired - AtlasExporter atlasExporter; + private AtlasExporter atlasExporter; @Test public void exportMetricsAtPeriodicIntervals() { @@ -68,7 +68,7 @@ public class AtlasExporterTests { @EnableAtlas class AtlasExporterConfiguration { - @LoadBalanced + @Qualifier("atlasRestTemplate") @Bean public RestTemplate restTemplate() { return new RestTemplate();