From a4138e2167bf405158558030fcaae41ece07fc77 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Wed, 19 Dec 2018 19:05:26 +0100 Subject: [PATCH] Added documentation on the Infrastructure bean role; fixes gh-1022 --- docs/src/main/asciidoc/spring-cloud-sleuth.adoc | 4 ++++ .../web/client/MultipleAsyncRestTemplateTests.java | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/docs/src/main/asciidoc/spring-cloud-sleuth.adoc b/docs/src/main/asciidoc/spring-cloud-sleuth.adoc index 95d421a06..89700aa6c 100644 --- a/docs/src/main/asciidoc/spring-cloud-sleuth.adoc +++ b/docs/src/main/asciidoc/spring-cloud-sleuth.adoc @@ -1307,6 +1307,10 @@ The following example shows how to set up such a custom `Executor`: include::../../../../spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/MultipleAsyncRestTemplateTests.java[tags=custom_executor,indent=0] ---- +TIP: To ensure that your configuration gets post processed, remember +to add the `@Role(BeanDefinition.ROLE_INFRASTRUCTURE)` on your +`@Configuration` class + === Messaging Features from this section can be disabled by setting the `spring.sleuth.messaging.enabled` property with value equal to `false`. diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/MultipleAsyncRestTemplateTests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/MultipleAsyncRestTemplateTests.java index df3b10474..59de1a03c 100644 --- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/MultipleAsyncRestTemplateTests.java +++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/MultipleAsyncRestTemplateTests.java @@ -31,15 +31,18 @@ import org.awaitility.Awaitility; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; + import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.web.server.LocalServerPort; import org.springframework.cloud.sleuth.instrument.async.LazyTraceExecutor; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Role; import org.springframework.core.task.SimpleAsyncTaskExecutor; import org.springframework.http.HttpMethod; import org.springframework.http.client.AsyncClientHttpRequest; @@ -180,6 +183,8 @@ public class MultipleAsyncRestTemplateTests { @Configuration @EnableAutoConfiguration @EnableAsync + // add the infrastructure role to ensure that the bean gets auto-proxied + @Role(BeanDefinition.ROLE_INFRASTRUCTURE) static class CustomExecutorConfig extends AsyncConfigurerSupport { @Autowired