Browse Source

Move @ConditionalOnClass from methods to inner classes

Closes gh-31353
pull/31400/head
Moritz Halbritter 4 years ago
parent
commit
42e8f65b80
  1. 31
      spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinConfigurations.java

31
spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinConfigurations.java

@ -28,11 +28,11 @@ import zipkin2.reporter.urlconnection.URLConnectionSender; @@ -28,11 +28,11 @@ import zipkin2.reporter.urlconnection.URLConnectionSender;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClass;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.web.client.RestTemplate;
/**
@ -43,23 +43,36 @@ import org.springframework.web.client.RestTemplate; @@ -43,23 +43,36 @@ import org.springframework.web.client.RestTemplate;
class ZipkinConfigurations {
@Configuration(proxyBeanMethods = false)
@EnableConfigurationProperties(ZipkinProperties.class)
@Import({ UrlConnectionSenderConfiguration.class, RestTemplateSenderConfiguration.class })
static class SenderConfiguration {
}
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(URLConnectionSender.class)
@EnableConfigurationProperties(ZipkinProperties.class)
static class UrlConnectionSenderConfiguration {
@Bean
@ConditionalOnMissingBean
@ConditionalOnClass(URLConnectionSender.class)
Sender urlConnectionSender(ZipkinProperties properties) {
@ConditionalOnMissingBean(Sender.class)
URLConnectionSender urlConnectionSender(ZipkinProperties properties) {
return URLConnectionSender.newBuilder().connectTimeout((int) properties.getConnectTimeout().getSeconds())
.readTimeout((int) properties.getReadTimeout().getSeconds()).endpoint(properties.getEndpoint())
.build();
}
}
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(RestTemplate.class)
@EnableConfigurationProperties(ZipkinProperties.class)
static class RestTemplateSenderConfiguration {
@Bean
@ConditionalOnMissingBean
@ConditionalOnMissingBean(Sender.class)
@ConditionalOnBean(RestTemplateBuilder.class)
@ConditionalOnMissingClass("zipkin2.reporter.urlconnection.URLConnectionSender")
Sender restTemplateSender(ZipkinProperties properties, RestTemplateBuilder restTemplateBuilder) {
ZipkinRestTemplateSender restTemplateSender(ZipkinProperties properties,
RestTemplateBuilder restTemplateBuilder) {
RestTemplate restTemplate = restTemplateBuilder.setConnectTimeout(properties.getConnectTimeout())
.setReadTimeout(properties.getReadTimeout()).build();
return new ZipkinRestTemplateSender(properties.getEndpoint(), restTemplate);
@ -73,7 +86,7 @@ class ZipkinConfigurations { @@ -73,7 +86,7 @@ class ZipkinConfigurations {
@Bean
@ConditionalOnMissingBean
@ConditionalOnBean(Sender.class)
Reporter<Span> spanReporter(Sender sender, BytesEncoder<Span> encoder) {
AsyncReporter<Span> spanReporter(Sender sender, BytesEncoder<Span> encoder) {
return AsyncReporter.builder(sender).build(encoder);
}

Loading…
Cancel
Save