From 68c8bd94b19861ad4a007fe3d290281953db608e Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Fri, 31 Aug 2018 13:35:10 +0200 Subject: [PATCH] Added missing property classes; fixes gh-1076 --- .../reactor/SleuthReactorProperties.java | 38 +++++++++++++++++ .../TraceReactorAutoConfiguration.java | 2 + .../instrument/web/SleuthWebProperties.java | 2 +- .../client/feign/SleuthFeignProperties.java | 42 +++++++++++++++++++ .../TraceFeignClientAutoConfiguration.java | 2 + 5 files changed, 85 insertions(+), 1 deletion(-) create mode 100644 spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/reactor/SleuthReactorProperties.java create mode 100644 spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/SleuthFeignProperties.java diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/reactor/SleuthReactorProperties.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/reactor/SleuthReactorProperties.java new file mode 100644 index 000000000..d7b3110cd --- /dev/null +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/reactor/SleuthReactorProperties.java @@ -0,0 +1,38 @@ +/* + * Copyright 2013-2018 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.cloud.sleuth.instrument.reactor; + +import org.springframework.boot.context.properties.ConfigurationProperties; + +/** + * Sleuth Reactor settings + * + * @since 2.0.2 + */ +@ConfigurationProperties("spring.sleuth.reactor.enabled") +public class SleuthReactorProperties { + + private boolean enabled = true; + + public boolean isEnabled() { + return this.enabled; + } + + public void setEnabled(boolean enabled) { + this.enabled = enabled; + } +} diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/reactor/TraceReactorAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/reactor/TraceReactorAutoConfiguration.java index da1e8bece..2ccf2e49f 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/reactor/TraceReactorAutoConfiguration.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/reactor/TraceReactorAutoConfiguration.java @@ -22,6 +22,7 @@ import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.Supplier; import brave.Tracing; +import org.springframework.boot.context.properties.EnableConfigurationProperties; import reactor.core.publisher.Hooks; import reactor.core.publisher.Mono; import reactor.core.scheduler.Schedulers; @@ -56,6 +57,7 @@ import org.springframework.context.event.ContextRefreshedEvent; @ConditionalOnProperty(value="spring.sleuth.reactor.enabled", matchIfMissing=true) @ConditionalOnClass(Mono.class) @AutoConfigureAfter(TraceWebFluxAutoConfiguration.class) +@EnableConfigurationProperties(SleuthReactorProperties.class) public class TraceReactorAutoConfiguration { @Configuration diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/SleuthWebProperties.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/SleuthWebProperties.java index da732085c..33ca016e7 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/SleuthWebProperties.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/SleuthWebProperties.java @@ -58,7 +58,7 @@ public class SleuthWebProperties { */ private boolean exceptionThrowingFilterEnabled = true; - private Client client; + private Client client = new Client(); public boolean isEnabled() { return this.enabled; diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/SleuthFeignProperties.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/SleuthFeignProperties.java new file mode 100644 index 000000000..da8a2bdf0 --- /dev/null +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/SleuthFeignProperties.java @@ -0,0 +1,42 @@ +/* + * Copyright 2013-2018 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.cloud.sleuth.instrument.web.client.feign; + +import org.springframework.boot.context.properties.ConfigurationProperties; + +/** + * Configuration properties for Feign + * + * @author Marcin Grzejszczak + * @since 2.0.2 + */ +@ConfigurationProperties("spring.sleuth.feign") +public class SleuthFeignProperties { + + /** + * When true enables instrumentation for feign + */ + private boolean enabled = true; + + public boolean isEnabled() { + return this.enabled; + } + + public void setEnabled(boolean enabled) { + this.enabled = enabled; + } +} diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/TraceFeignClientAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/TraceFeignClientAutoConfiguration.java index c3829f2b2..a77c070f1 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/TraceFeignClientAutoConfiguration.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/feign/TraceFeignClientAutoConfiguration.java @@ -27,6 +27,7 @@ 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.ConditionalOnProperty; +import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.cloud.openfeign.FeignAutoConfiguration; import org.springframework.cloud.openfeign.FeignContext; import org.springframework.cloud.sleuth.instrument.hystrix.SleuthHystrixAutoConfiguration; @@ -48,6 +49,7 @@ import org.springframework.context.annotation.Scope; @ConditionalOnBean(HttpTracing.class) @AutoConfigureBefore(FeignAutoConfiguration.class) @AutoConfigureAfter({SleuthHystrixAutoConfiguration.class, TraceHttpAutoConfiguration.class}) +@EnableConfigurationProperties(SleuthFeignProperties.class) public class TraceFeignClientAutoConfiguration { @Bean