Update auto-configuration to use @Configuration(proxyBeanMethods=false)

fixes gh-1245
This commit is contained in:
Marcin Grzejszczak
2019-10-24 13:42:00 +02:00
parent 4bfa08bb1c
commit 34f61908fd
36 changed files with 104 additions and 88 deletions

View File

@@ -40,7 +40,7 @@ import org.springframework.context.annotation.Role;
* @author Marcin Grzejszczak
* @since 1.2.0
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@Role(BeanDefinition.ROLE_INFRASTRUCTURE)
@ConditionalOnBean(Tracing.class)
@ConditionalOnProperty(name = "spring.sleuth.annotation.enabled", matchIfMissing = true)

View File

@@ -68,7 +68,7 @@ import org.springframework.util.StringUtils;
* @author Tim Ysewyn
* @since 2.0.0
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(value = "spring.sleuth.enabled", matchIfMissing = true)
@EnableConfigurationProperties(SleuthProperties.class)
public class TraceAutoConfiguration {
@@ -108,14 +108,18 @@ public class TraceAutoConfiguration {
@ConditionalOnMissingBean
// NOTE: stable bean name as might be used outside sleuth
Tracing tracing(@LocalServiceName String serviceName, Propagation.Factory factory,
CurrentTraceContext currentTraceContext, Sampler sampler, ErrorParser errorParser,
SleuthProperties sleuthProperties, @Nullable List<Reporter<zipkin2.Span>> spanReporters) {
Tracing.Builder builder = Tracing.newBuilder().sampler(sampler).errorParser(errorParser)
.localServiceName(StringUtils.isEmpty(serviceName) ? DEFAULT_SERVICE_NAME : serviceName)
CurrentTraceContext currentTraceContext, Sampler sampler,
ErrorParser errorParser, SleuthProperties sleuthProperties,
@Nullable List<Reporter<zipkin2.Span>> spanReporters) {
Tracing.Builder builder = Tracing.newBuilder().sampler(sampler)
.errorParser(errorParser)
.localServiceName(StringUtils.isEmpty(serviceName) ? DEFAULT_SERVICE_NAME
: serviceName)
.propagationFactory(factory).currentTraceContext(currentTraceContext)
.spanReporter(new CompositeReporter(this.spanAdjusters,
spanReporters != null ? spanReporters : Collections.emptyList()))
.traceId128Bit(sleuthProperties.isTraceId128()).supportsJoin(sleuthProperties.isSupportsJoin());
.traceId128Bit(sleuthProperties.isTraceId128())
.supportsJoin(sleuthProperties.isSupportsJoin());
for (FinishedSpanHandler finishedSpanHandlerFactory : this.finishedSpanHandlers) {
builder.addFinishedSpanHandler(finishedSpanHandlerFactory);
}
@@ -146,7 +150,8 @@ public class TraceAutoConfiguration {
@Bean
@ConditionalOnMissingBean
Propagation.Factory sleuthPropagation(SleuthProperties sleuthProperties) {
if (sleuthProperties.getBaggageKeys().isEmpty() && sleuthProperties.getPropagationKeys().isEmpty()
if (sleuthProperties.getBaggageKeys().isEmpty()
&& sleuthProperties.getPropagationKeys().isEmpty()
&& extraFieldCustomizers.isEmpty()) {
return B3Propagation.FACTORY;
}
@@ -155,7 +160,8 @@ public class TraceAutoConfiguration {
factoryBuilder = this.extraFieldPropagationFactoryBuilder;
}
else {
factoryBuilder = ExtraFieldPropagation.newFactoryBuilder(B3Propagation.FACTORY);
factoryBuilder = ExtraFieldPropagation
.newFactoryBuilder(B3Propagation.FACTORY);
}
if (!sleuthProperties.getBaggageKeys().isEmpty()) {
factoryBuilder = factoryBuilder
@@ -224,9 +230,11 @@ public class TraceAutoConfiguration {
private final Reporter<zipkin2.Span> spanReporter;
private CompositeReporter(List<SpanAdjuster> spanAdjusters, List<Reporter<Span>> spanReporters) {
private CompositeReporter(List<SpanAdjuster> spanAdjusters,
List<Reporter<Span>> spanReporters) {
this.spanAdjusters = spanAdjusters;
this.spanReporter = spanReporters.size() == 1 ? spanReporters.get(0) : new ListReporter(spanReporters);
this.spanReporter = spanReporters.size() == 1 ? spanReporters.get(0)
: new ListReporter(spanReporters);
}
@Override
@@ -240,8 +248,8 @@ public class TraceAutoConfiguration {
@Override
public String toString() {
return "CompositeReporter{" + "spanAdjusters=" + this.spanAdjusters + ", spanReporters=" + this.spanReporter
+ '}';
return "CompositeReporter{" + "spanAdjusters=" + this.spanAdjusters
+ ", spanReporters=" + this.spanReporter + '}';
}
private static final class ListReporter implements Reporter<zipkin2.Span> {
@@ -259,7 +267,8 @@ public class TraceAutoConfiguration {
spanReporter.report(span);
}
catch (Exception ex) {
log.warn("Exception occurred while trying to report the span " + span, ex);
log.warn("Exception occurred while trying to report the span "
+ span, ex);
}
}
}
@@ -273,7 +282,7 @@ public class TraceAutoConfiguration {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnMissingClass("io.micrometer.core.instrument.MeterRegistry")
static class TraceMetricsInMemoryConfiguration {
@@ -285,11 +294,11 @@ public class TraceAutoConfiguration {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(MeterRegistry.class)
static class TraceMetricsMicrometerConfiguration {
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnMissingBean(ReporterMetrics.class)
static class NoReporterMetricsBeanConfiguration {

View File

@@ -29,7 +29,7 @@ import org.springframework.context.annotation.Configuration;
* @author Jesus Alonso
* @since 2.1.0
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(value = "spring.sleuth.scheduled.enabled", matchIfMissing = true)
@EnableConfigurationProperties({ SleuthAsyncProperties.class,
SleuthSchedulingProperties.class })

View File

@@ -36,7 +36,7 @@ import org.springframework.scheduling.annotation.AsyncConfigurer;
* @author Dave Syer
* @since 1.0.0
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnBean(AsyncConfigurer.class)
@AutoConfigureBefore(AsyncDefaultAutoConfiguration.class)
@ConditionalOnProperty(value = "spring.sleuth.async.enabled", matchIfMissing = true)

View File

@@ -53,7 +53,7 @@ import org.springframework.scheduling.annotation.AsyncConfigurerSupport;
* @see LazyTraceExecutor
* @see TraceAsyncAspect
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableConfigurationProperties({ SleuthAsyncProperties.class,
SleuthSchedulingProperties.class })
@ConditionalOnProperty(value = "spring.sleuth.async.enabled", matchIfMissing = true)
@@ -76,7 +76,7 @@ public class AsyncDefaultAutoConfiguration {
/**
* Wrapper for the async executor.
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnMissingBean(AsyncConfigurer.class)
@ConditionalOnProperty(value = "spring.sleuth.async.configurer.enabled",
matchIfMissing = true)

View File

@@ -38,7 +38,7 @@ import org.springframework.context.annotation.Configuration;
* @see SleuthHystrixConcurrencyStrategy
* @since 1.0.0
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@AutoConfigureAfter(TraceAutoConfiguration.class)
@ConditionalOnClass(HystrixCommand.class)
@ConditionalOnBean(Tracing.class)

View File

@@ -40,7 +40,7 @@ import org.springframework.kafka.config.StreamsBuilderFactoryBean;
*
* @author Tim te Beek
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnBean(Tracing.class)
@AutoConfigureAfter({ TraceAutoConfiguration.class })
@OnMessagingEnabled

View File

@@ -81,7 +81,7 @@ import org.springframework.util.ReflectionUtils;
* @author Marcin Grzejszczak
* @since 2.0.0
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnBean(Tracing.class)
@AutoConfigureAfter({ TraceAutoConfiguration.class,
TraceSpringMessagingAutoConfiguration.class })
@@ -89,7 +89,7 @@ import org.springframework.util.ReflectionUtils;
@EnableConfigurationProperties(SleuthMessagingProperties.class)
public class TraceMessagingAutoConfiguration {
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(value = "spring.sleuth.messaging.rabbit.enabled",
matchIfMissing = true)
@ConditionalOnClass(RabbitTemplate.class)
@@ -115,7 +115,7 @@ public class TraceMessagingAutoConfiguration {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(value = "spring.sleuth.messaging.kafka.enabled",
matchIfMissing = true)
@ConditionalOnClass(ProducerFactory.class)
@@ -154,7 +154,7 @@ public class TraceMessagingAutoConfiguration {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(value = "spring.sleuth.messaging.jms.enabled",
matchIfMissing = true)
@ConditionalOnClass(JmsListenerConfigurer.class)
@@ -199,7 +199,7 @@ public class TraceMessagingAutoConfiguration {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(value = "spring.sleuth.messaging.sqs.enabled",
matchIfMissing = true)
@ConditionalOnClass(QueueMessageHandler.class)

View File

@@ -40,7 +40,7 @@ import org.springframework.messaging.support.MessageHeaderAccessor;
* @since 1.0.0
* @see TracingChannelInterceptor
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(GlobalChannelInterceptor.class)
@ConditionalOnBean(Tracing.class)
@AutoConfigureAfter({ TraceAutoConfiguration.class,

View File

@@ -25,7 +25,7 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.messaging.support.MessageHeaderAccessor;
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(MessageHeaderAccessor.class)
@OnMessagingEnabled
@EnableConfigurationProperties(SleuthMessagingProperties.class)

View File

@@ -38,7 +38,7 @@ import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
* @since 1.0.0
* @see AbstractWebSocketMessageBrokerConfigurer
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(DelegatingWebSocketMessageBrokerConfiguration.class)
@ConditionalOnBean(Tracing.class)
@ConditionalOnProperty(value = "spring.sleuth.integration.websockets.enabled",

View File

@@ -36,7 +36,7 @@ import org.springframework.context.annotation.Configuration;
* @author Marcin Grzejszczak
* @since 2.0.0
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(value = "spring.sleuth.opentracing.enabled", matchIfMissing = true)
@ConditionalOnBean(Tracing.class)
@ConditionalOnClass(Tracer.class)

View File

@@ -19,7 +19,9 @@ package org.springframework.cloud.sleuth.instrument.quartz;
import brave.Tracing;
import org.quartz.Scheduler;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
@@ -35,7 +37,7 @@ import org.springframework.context.annotation.Configuration;
* @author Branden Cash
* @since 2.2.0
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnBean({ Tracing.class, Scheduler.class })
@AutoConfigureAfter({ TraceAutoConfiguration.class, QuartzAutoConfiguration.class })
@ConditionalOnProperty(value = "spring.sleuth.quartz.enabled", matchIfMissing = true)
@@ -50,6 +52,9 @@ public class TraceQuartzAutoConfiguration implements InitializingBean {
this.tracing = tracing;
}
@Autowired
BeanFactory beanFactory;
@Bean
public TracingJobListener tracingJobListener() {
return new TracingJobListener(tracing);
@@ -57,8 +62,10 @@ public class TraceQuartzAutoConfiguration implements InitializingBean {
@Override
public void afterPropertiesSet() throws Exception {
scheduler.getListenerManager().addTriggerListener(tracingJobListener());
scheduler.getListenerManager().addJobListener(tracingJobListener());
TracingJobListener tracingJobListener = beanFactory
.getBean(TracingJobListener.class);
scheduler.getListenerManager().addTriggerListener(tracingJobListener);
scheduler.getListenerManager().addJobListener(tracingJobListener);
}
}

View File

@@ -49,7 +49,7 @@ import org.springframework.context.annotation.Configuration;
* @author Marcin Grzejszczak
* @since 2.0.0
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(value = "spring.sleuth.reactor.enabled", matchIfMissing = true)
@ConditionalOnClass(Mono.class)
@AutoConfigureAfter(TraceWebFluxAutoConfiguration.class)
@@ -57,7 +57,7 @@ public class TraceReactorAutoConfiguration {
static final String SLEUTH_REACTOR_EXECUTOR_SERVICE_KEY = "sleuth";
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnBean(Tracing.class)
static class TraceReactorConfiguration {

View File

@@ -37,13 +37,13 @@ import org.springframework.context.annotation.Configuration;
* @author Chao Chang
* @since 2.2.0
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@OnRedisEnabled
@ConditionalOnBean({ Tracing.class, ClientResources.class })
@AutoConfigureAfter({ TraceAutoConfiguration.class })
public class TraceRedisAutoConfiguration {
@Configuration
@Configuration(proxyBeanMethods = false)
static class LettuceConfig {
@Bean

View File

@@ -41,7 +41,7 @@ import org.springframework.lang.Nullable;
*
* @since 2.2.0
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(name = "spring.sleuth.rpc.enabled", havingValue = "true",
matchIfMissing = true)
@ConditionalOnBean(Tracing.class)

View File

@@ -38,7 +38,7 @@ import org.springframework.context.annotation.Configuration;
* @author Shivang Shah
* @since 1.0.0
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@AutoConfigureAfter(TraceAutoConfiguration.class)
@ConditionalOnBean(Tracing.class)
@ConditionalOnClass(RxJavaSchedulersHook.class)

View File

@@ -39,7 +39,7 @@ import org.springframework.context.annotation.EnableAspectJAutoProxy;
* @since 1.0.0
* @see TraceSchedulingAspect
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableAspectJAutoProxy
@ConditionalOnProperty(value = "spring.sleuth.scheduled.enabled", matchIfMissing = true)
@ConditionalOnBean(Tracing.class)

View File

@@ -47,7 +47,7 @@ import org.springframework.lang.Nullable;
* @author Marcin Grzejszczak
* @since 2.0.0
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnBean(TraceWebAutoConfiguration.class)
@ConditionalOnProperty(name = "spring.sleuth.http.enabled", havingValue = "true",
matchIfMissing = true)

View File

@@ -53,7 +53,7 @@ import org.springframework.util.StringUtils;
* @author Tim Ysewyn
* @since 1.0.0
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(value = "spring.sleuth.web.enabled", matchIfMissing = true)
@ConditionalOnBean(Tracing.class)
@AutoConfigureAfter(TraceAutoConfiguration.class)
@@ -80,7 +80,7 @@ public class TraceWebAutoConfiguration {
};
}
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(ManagementServerProperties.class)
@ConditionalOnProperty(value = "spring.sleuth.web.ignoreAutoConfiguredSkipPatterns",
havingValue = "false", matchIfMissing = true)
@@ -111,7 +111,7 @@ public class TraceWebAutoConfiguration {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass({ ServerProperties.class, EndpointsSupplier.class,
ExposableWebEndpoint.class })
@ConditionalOnBean(ServerProperties.class)
@@ -197,7 +197,7 @@ public class TraceWebAutoConfiguration {
}
@Configuration
@Configuration(proxyBeanMethods = false)
static class DefaultSkipPatternConfig {
private static String combinedPattern(String skipPattern,

View File

@@ -33,7 +33,7 @@ import org.springframework.context.annotation.Configuration;
* @author Marcin Grzejszczak
* @since 2.0.0
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(value = "spring.sleuth.web.enabled", matchIfMissing = true)
@ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.REACTIVE)
@ConditionalOnBean(Tracing.class)

View File

@@ -31,7 +31,7 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
* @author Marcin Grzejszczak
* @since 1.0.3
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@Import(SpanCustomizingAsyncHandlerInterceptor.class)
class TraceWebMvcConfigurer implements WebMvcConfigurer {

View File

@@ -53,7 +53,7 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
* @author Spencer Gibb
* @since 1.0.0
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(value = "spring.sleuth.web.enabled", matchIfMissing = true)
@ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET)
@ConditionalOnBean(HttpTracing.class)
@@ -108,7 +108,7 @@ public class TraceWebServletAutoConfiguration {
* Nested config that configures Web MVC if it's present (without adding a runtime
* dependency to it).
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(WebMvcConfigurer.class)
@Import(TraceWebMvcConfigurer.class)
protected static class TraceWebMvcAutoConfiguration {

View File

@@ -45,7 +45,7 @@ import org.springframework.web.client.AsyncRestTemplate;
* @author Marcin Grzejszczak
* @since 1.0.0
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@SleuthWebClientEnabled
@ConditionalOnProperty(value = "spring.sleuth.web.async.client.enabled",
matchIfMissing = true)
@@ -54,7 +54,7 @@ import org.springframework.web.client.AsyncRestTemplate;
@AutoConfigureAfter(TraceWebServletAutoConfiguration.class)
public class TraceWebAsyncClientAutoConfiguration {
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnBean(AsyncRestTemplate.class)
static class AsyncRestTemplateConfig {
@@ -65,7 +65,7 @@ public class TraceWebAsyncClientAutoConfiguration {
.create(httpTracing);
}
@Configuration
@Configuration(proxyBeanMethods = false)
protected static class TraceInterceptorConfiguration {
@Autowired(required = false)

View File

@@ -62,14 +62,14 @@ import org.springframework.web.reactive.function.client.WebClient;
* @author Marcin Grzejszczak
* @since 1.0.0
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@SleuthWebClientEnabled
@ConditionalOnBean(HttpTracing.class)
@AutoConfigureAfter(TraceWebServletAutoConfiguration.class)
@AutoConfigureBefore(HttpClientConfiguration.class)
public class TraceWebClientAutoConfiguration {
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(RestTemplate.class)
static class RestTemplateConfig {
@@ -80,7 +80,7 @@ public class TraceWebClientAutoConfiguration {
.create(httpTracing);
}
@Configuration
@Configuration(proxyBeanMethods = false)
protected static class TraceInterceptorConfiguration {
@Autowired
@@ -103,7 +103,7 @@ public class TraceWebClientAutoConfiguration {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(HttpClientBuilder.class)
static class HttpClientBuilderConfig {
@@ -115,7 +115,7 @@ public class TraceWebClientAutoConfiguration {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(HttpAsyncClientBuilder.class)
static class HttpAsyncClientBuilderConfig {
@@ -127,7 +127,7 @@ public class TraceWebClientAutoConfiguration {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(WebClient.class)
static class WebClientConfig {
@@ -139,7 +139,7 @@ public class TraceWebClientAutoConfiguration {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(HttpHeadersFilter.class)
static class HttpHeadersFilterConfig {
@@ -155,7 +155,7 @@ public class TraceWebClientAutoConfiguration {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(HttpClient.class)
static class NettyConfiguration {
@@ -167,7 +167,7 @@ public class TraceWebClientAutoConfiguration {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass({ UserInfoRestTemplateCustomizer.class,
OAuth2RestTemplate.class })
protected static class TraceOAuthConfiguration {

View File

@@ -43,7 +43,7 @@ import org.springframework.context.annotation.Scope;
* @author Marcin Grzejszczak
* @since 1.0.0
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(value = "spring.sleuth.feign.enabled", matchIfMissing = true)
@ConditionalOnClass({ Client.class, FeignContext.class })
@ConditionalOnBean(HttpTracing.class)
@@ -80,7 +80,7 @@ public class TraceFeignClientAutoConfiguration {
return new TraceFeignAspect(beanFactory);
}
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(name = "spring.sleuth.feign.processor.enabled",
matchIfMissing = true)
protected static class FeignBeanPostProcessorConfiguration {
@@ -93,7 +93,7 @@ public class TraceFeignClientAutoConfiguration {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(OkHttpClient.class)
protected static class OkHttpClientFeignBeanPostProcessorConfiguration {

View File

@@ -36,7 +36,7 @@ import org.springframework.context.annotation.Configuration;
* @author Dave Syer
* @since 1.0.0
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(value = "spring.sleuth.zuul.enabled", matchIfMissing = true)
@ConditionalOnWebApplication
@ConditionalOnClass(ZuulFilter.class)

View File

@@ -38,7 +38,7 @@ import org.springframework.context.annotation.Configuration;
* @author Marcin Grzejszczak
* @since 2.0.0
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(value = "spring.sleuth.enabled", matchIfMissing = true)
@AutoConfigureBefore(TraceAutoConfiguration.class)
public class SleuthLogAutoConfiguration {
@@ -46,7 +46,7 @@ public class SleuthLogAutoConfiguration {
/**
* Configuration for Slfj4.
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(MDC.class)
@EnableConfigurationProperties(SleuthSlf4jProperties.class)
protected static class Slf4jConfiguration {

View File

@@ -30,12 +30,12 @@ import org.springframework.context.annotation.Configuration;
* @author Taras Danylchuk
* @since 2.1.0
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(value = "spring.sleuth.enabled", matchIfMissing = true)
@AutoConfigureBefore(TraceAutoConfiguration.class)
public class SleuthTagPropagationAutoConfiguration {
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(value = "spring.sleuth.propagation.tag.enabled",
matchIfMissing = true)
@EnableConfigurationProperties(SleuthTagPropagationProperties.class)

View File

@@ -33,7 +33,7 @@ import org.springframework.context.annotation.Configuration;
* @author Marcin Grzejszczak
* @since 2.1.0
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(value = "spring.sleuth.enabled", matchIfMissing = true)
@EnableConfigurationProperties(SamplerProperties.class)
public class SamplerAutoConfiguration {
@@ -45,7 +45,7 @@ public class SamplerAutoConfiguration {
return new RateLimitingSampler(config);
}
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnBean(
type = "org.springframework.cloud.context.scope.refresh.RefreshScope")
protected static class RefreshScopedSamplerConfiguration {
@@ -59,7 +59,7 @@ public class SamplerAutoConfiguration {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnMissingBean(
type = "org.springframework.cloud.context.scope.refresh.RefreshScope")
protected static class NonRefreshScopeSamplerConfiguration {

View File

@@ -67,7 +67,7 @@ import org.springframework.web.client.RestTemplate;
* @see ZipkinRestTemplateCustomizer
* @see DefaultZipkinRestTemplateCustomizer
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableConfigurationProperties(ZipkinProperties.class)
@ConditionalOnProperty(value = { "spring.sleuth.enabled", "spring.zipkin.enabled" },
matchIfMissing = true)
@@ -142,7 +142,7 @@ public class ZipkinAutoConfiguration {
return new DefaultZipkinRestTemplateCustomizer(zipkinProperties);
}
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnMissingBean(EndpointLocator.class)
@ConditionalOnProperty(value = "spring.zipkin.locator.discovery.enabled",
havingValue = "false", matchIfMissing = true)
@@ -168,7 +168,7 @@ public class ZipkinAutoConfiguration {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(Registration.class)
@ConditionalOnMissingBean(EndpointLocator.class)
@ConditionalOnProperty(value = "spring.zipkin.locator.discovery.enabled",

View File

@@ -57,7 +57,7 @@ import org.springframework.util.Assert;
* @see ZipkinAutoConfiguration
* @deprecated left for backward compatibility
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(value = { "spring.sleuth.enabled", "spring.zipkin.enabled" },
matchIfMissing = true)
@AutoConfigureBefore(ZipkinAutoConfiguration.class)

View File

@@ -32,7 +32,7 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
import org.springframework.context.annotation.Configuration;
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(ActiveMQConnectionFactory.class)
@ConditionalOnMissingBean(name = ZipkinAutoConfiguration.SENDER_BEAN_NAME)
@Conditional(ZipkinSenderCondition.class)
@@ -40,7 +40,7 @@ import org.springframework.context.annotation.Configuration;
@AutoConfigureAfter(ActiveMQAutoConfiguration.class)
class ZipkinActiveMqSenderConfiguration {
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnBean(ActiveMQConnectionFactory.class)
static class ZipkinActiveMqSenderBeanConfiguration {

View File

@@ -34,14 +34,14 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
import org.springframework.context.annotation.Configuration;
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(ByteArraySerializer.class)
@ConditionalOnMissingBean(name = ZipkinAutoConfiguration.SENDER_BEAN_NAME)
@Conditional(ZipkinSenderCondition.class)
@ConditionalOnProperty(value = "spring.zipkin.sender.type", havingValue = "kafka")
class ZipkinKafkaSenderConfiguration {
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableConfigurationProperties(KafkaProperties.class)
static class ZipkinKafkaSenderBeanConfiguration {

View File

@@ -31,7 +31,7 @@ import org.springframework.context.annotation.Conditional;
import org.springframework.context.annotation.Configuration;
import org.springframework.util.StringUtils;
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnBean(CachingConnectionFactory.class)
@ConditionalOnMissingBean(name = ZipkinAutoConfiguration.SENDER_BEAN_NAME)
@Conditional(ZipkinSenderCondition.class)

View File

@@ -46,7 +46,7 @@ import org.springframework.web.client.ResponseExtractor;
import org.springframework.web.client.RestClientException;
import org.springframework.web.client.RestTemplate;
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnMissingBean(name = ZipkinAutoConfiguration.SENDER_BEAN_NAME)
@Conditional(ZipkinSenderCondition.class)
@EnableConfigurationProperties(ZipkinSenderProperties.class)
@@ -125,7 +125,7 @@ class ZipkinRestTemplateSenderConfiguration {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnMissingClass("org.springframework.cloud.client.loadbalancer.LoadBalancerClient")
static class DefaultZipkinUrlExtractorConfiguration {
@@ -140,11 +140,11 @@ class ZipkinRestTemplateSenderConfiguration {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(LoadBalancerClient.class)
static class DiscoveryClientZipkinUrlExtractorConfiguration {
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(value = "spring.zipkin.discovery-client-enabled",
havingValue = "true", matchIfMissing = true)
static class ZipkinClientLoadBalancedConfiguration {
@@ -162,7 +162,7 @@ class ZipkinRestTemplateSenderConfiguration {
}
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(value = "spring.zipkin.discovery-client-enabled",
havingValue = "false")
static class ZipkinClientNoOpConfiguration {