From 89176772bc2b7e8a2b84f7d5b4ccd75ac9bfb85d Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Thu, 11 Jan 2018 11:17:49 +0100 Subject: [PATCH 1/7] Added a test for a pollable channel --- .../messaging/TraceChannelInterceptor.java | 1 - .../TraceChannelInterceptorTests.java | 22 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceChannelInterceptor.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceChannelInterceptor.java index 88187592b..a0c5f7c69 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceChannelInterceptor.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceChannelInterceptor.java @@ -219,5 +219,4 @@ public class TraceChannelInterceptor extends AbstractTraceChannelInterceptor { getErrorParser().parseErrorTags(getTracer().getCurrentSpan(), ex); } } - } diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/messaging/TraceChannelInterceptorTests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/messaging/TraceChannelInterceptorTests.java index 25aec363f..89b761c02 100644 --- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/messaging/TraceChannelInterceptorTests.java +++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/messaging/TraceChannelInterceptorTests.java @@ -54,6 +54,7 @@ import org.springframework.messaging.MessageChannel; import org.springframework.messaging.MessageHandler; import org.springframework.messaging.MessageHeaders; import org.springframework.messaging.MessagingException; +import org.springframework.messaging.PollableChannel; import org.springframework.messaging.support.ChannelInterceptor; import org.springframework.messaging.support.ChannelInterceptorAdapter; import org.springframework.messaging.support.ErrorMessage; @@ -89,6 +90,10 @@ public class TraceChannelInterceptorTests implements MessageHandler { @Qualifier("ignoredChannel") private DirectChannel ignoredChannel; + @Autowired + @Qualifier("tracedPollableChannel") + private QueueChannel queueChannel; + @Autowired private Tracer tracer; @@ -129,6 +134,18 @@ public class TraceChannelInterceptorTests implements MessageHandler { this.accumulator.getSpans().clear(); } + @Test + public void shouldWorkForQueue() { + this.queueChannel.send(MessageBuilder.withPayload("hi").build()); + this.message = this.queueChannel.receive(); + assertNotNull("message was null", this.message); + + String spanId = this.message.getHeaders().get(TraceMessageHeaders.SPAN_ID_NAME, String.class); + then(spanId).isNotNull(); + then(TestSpanContextHolder.getCurrentSpan()).isNull(); + then(this.accumulator.getSpans()).isNotEmpty(); + } + @Test public void nonExportableSpanCreation() { this.tracedChannel.send(MessageBuilder.withPayload("hi") @@ -413,6 +430,11 @@ public class TraceChannelInterceptorTests implements MessageHandler { return new ExecutorChannel(Executors.newSingleThreadExecutor()); } + @Bean + public PollableChannel tracedPollableChannel() { + return new QueueChannel(10); + } + @Bean public DirectChannel tracedChannel() { return new DirectChannel(); From b75d357376a0a3b4ebf8aece472b1249c0600879 Mon Sep 17 00:00:00 2001 From: Ryan Baxter Date: Mon, 15 Jan 2018 19:30:45 -0500 Subject: [PATCH 2/7] Bumping the version of commons, netflix, and build --- pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 893720b69..a41299bb8 100644 --- a/pom.xml +++ b/pom.xml @@ -241,10 +241,10 @@ 1.8 2.19.1 2.17 - 1.3.6.BUILD-SNAPSHOT - 1.3.0.BUILD-SNAPSHOT + 1.3.7.BUILD-SNAPSHOT + 1.3.1.BUILD-SNAPSHOT Ditmars.BUILD-SNAPSHOT - 1.4.0.BUILD-SNAPSHOT + 1.4.2.BUILD-SNAPSHOT 3.1.0.RELEASE 1.0.0 From 339b42538a6019c0b210afda75ffe18a9506b9ca Mon Sep 17 00:00:00 2001 From: buildmaster Date: Tue, 16 Jan 2018 14:49:56 +0000 Subject: [PATCH 3/7] Update SNAPSHOT to 1.3.1.RELEASE --- benchmarks/pom.xml | 2 +- docs/pom.xml | 2 +- pom.xml | 12 ++++++------ spring-cloud-sleuth-core/pom.xml | 2 +- spring-cloud-sleuth-dependencies/pom.xml | 4 ++-- spring-cloud-sleuth-reactor/pom.xml | 2 +- spring-cloud-sleuth-samples/pom.xml | 2 +- .../spring-cloud-sleuth-sample-feign/pom.xml | 2 +- .../spring-cloud-sleuth-sample-messaging/pom.xml | 2 +- .../spring-cloud-sleuth-sample-ribbon/pom.xml | 2 +- .../spring-cloud-sleuth-sample-test-core/pom.xml | 2 +- .../spring-cloud-sleuth-sample-websocket/pom.xml | 2 +- .../spring-cloud-sleuth-sample-zipkin/pom.xml | 2 +- .../spring-cloud-sleuth-sample/pom.xml | 2 +- spring-cloud-sleuth-stream/pom.xml | 2 +- spring-cloud-sleuth-zipkin-legacy/pom.xml | 2 +- spring-cloud-sleuth-zipkin-stream/pom.xml | 2 +- spring-cloud-sleuth-zipkin/pom.xml | 2 +- spring-cloud-starter-sleuth/pom.xml | 2 +- spring-cloud-starter-zipkin-legacy/pom.xml | 2 +- spring-cloud-starter-zipkin/pom.xml | 2 +- 21 files changed, 27 insertions(+), 27 deletions(-) diff --git a/benchmarks/pom.xml b/benchmarks/pom.xml index 7165bfedb..4fa24d8c1 100644 --- a/benchmarks/pom.xml +++ b/benchmarks/pom.xml @@ -17,7 +17,7 @@ Benchmarks Benchmarks (JMH) org.springframework.cloud - 1.3.1.BUILD-SNAPSHOT + 1.3.1.RELEASE benchmarks diff --git a/docs/pom.xml b/docs/pom.xml index a51300fce..b319977be 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.BUILD-SNAPSHOT + 1.3.1.RELEASE spring-cloud-sleuth-docs pom diff --git a/pom.xml b/pom.xml index a41299bb8..a0d88c4d7 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 spring-cloud-sleuth - 1.3.1.BUILD-SNAPSHOT + 1.3.1.RELEASE pom Spring Cloud Sleuth Spring Cloud Sleuth @@ -13,7 +13,7 @@ org.springframework.cloud spring-cloud-build - 1.3.6.BUILD-SNAPSHOT + 1.3.7.RELEASE @@ -241,10 +241,10 @@ 1.8 2.19.1 2.17 - 1.3.7.BUILD-SNAPSHOT - 1.3.1.BUILD-SNAPSHOT - Ditmars.BUILD-SNAPSHOT - 1.4.2.BUILD-SNAPSHOT + 1.3.7.RELEASE + 1.3.1.RELEASE + Ditmars.SR3 + 1.4.2.RELEASE 3.1.0.RELEASE 1.0.0 diff --git a/spring-cloud-sleuth-core/pom.xml b/spring-cloud-sleuth-core/pom.xml index 1ccb26481..568c609d1 100644 --- a/spring-cloud-sleuth-core/pom.xml +++ b/spring-cloud-sleuth-core/pom.xml @@ -11,7 +11,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.BUILD-SNAPSHOT + 1.3.1.RELEASE .. diff --git a/spring-cloud-sleuth-dependencies/pom.xml b/spring-cloud-sleuth-dependencies/pom.xml index 6dc87eb5c..10b832eb3 100644 --- a/spring-cloud-sleuth-dependencies/pom.xml +++ b/spring-cloud-sleuth-dependencies/pom.xml @@ -5,11 +5,11 @@ spring-cloud-dependencies-parent org.springframework.cloud - 1.3.6.BUILD-SNAPSHOT + 1.3.7.RELEASE spring-cloud-sleuth-dependencies - 1.3.1.BUILD-SNAPSHOT + 1.3.1.RELEASE pom spring-cloud-sleuth-dependencies Spring Cloud Sleuth Dependencies diff --git a/spring-cloud-sleuth-reactor/pom.xml b/spring-cloud-sleuth-reactor/pom.xml index 07f3612ae..1f907fc05 100644 --- a/spring-cloud-sleuth-reactor/pom.xml +++ b/spring-cloud-sleuth-reactor/pom.xml @@ -11,7 +11,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.BUILD-SNAPSHOT + 1.3.1.RELEASE .. diff --git a/spring-cloud-sleuth-samples/pom.xml b/spring-cloud-sleuth-samples/pom.xml index 11b98f3e7..2fe7ae6ad 100644 --- a/spring-cloud-sleuth-samples/pom.xml +++ b/spring-cloud-sleuth-samples/pom.xml @@ -12,7 +12,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.BUILD-SNAPSHOT + 1.3.1.RELEASE .. diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-feign/pom.xml b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-feign/pom.xml index b222731e3..149db78b1 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-feign/pom.xml +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-feign/pom.xml @@ -20,7 +20,7 @@ org.springframework.cloud spring-cloud-sleuth-samples - 1.3.1.BUILD-SNAPSHOT + 1.3.1.RELEASE .. diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/pom.xml b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/pom.xml index 8f0c6ebfd..9bc559dd6 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/pom.xml +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/pom.xml @@ -28,7 +28,7 @@ org.springframework.cloud spring-cloud-sleuth-samples - 1.3.1.BUILD-SNAPSHOT + 1.3.1.RELEASE .. diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-ribbon/pom.xml b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-ribbon/pom.xml index 568b4df1a..82a46cb19 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-ribbon/pom.xml +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-ribbon/pom.xml @@ -28,7 +28,7 @@ org.springframework.cloud spring-cloud-sleuth-samples - 1.3.1.BUILD-SNAPSHOT + 1.3.1.RELEASE .. diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-test-core/pom.xml b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-test-core/pom.xml index c2d17dfa1..ab4e33ee0 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-test-core/pom.xml +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-test-core/pom.xml @@ -28,7 +28,7 @@ org.springframework.cloud spring-cloud-sleuth-samples - 1.3.1.BUILD-SNAPSHOT + 1.3.1.RELEASE .. diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-websocket/pom.xml b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-websocket/pom.xml index 5dc277e0c..2c9fc9eec 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-websocket/pom.xml +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-websocket/pom.xml @@ -28,7 +28,7 @@ org.springframework.cloud spring-cloud-sleuth-samples - 1.3.1.BUILD-SNAPSHOT + 1.3.1.RELEASE .. diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin/pom.xml b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin/pom.xml index 9c951db45..f0e640046 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin/pom.xml +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin/pom.xml @@ -27,7 +27,7 @@ org.springframework.cloud spring-cloud-sleuth-samples - 1.3.1.BUILD-SNAPSHOT + 1.3.1.RELEASE .. diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/pom.xml b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/pom.xml index ff377b7aa..cfa630d86 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/pom.xml +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/pom.xml @@ -28,7 +28,7 @@ org.springframework.cloud spring-cloud-sleuth-samples - 1.3.1.BUILD-SNAPSHOT + 1.3.1.RELEASE .. diff --git a/spring-cloud-sleuth-stream/pom.xml b/spring-cloud-sleuth-stream/pom.xml index b5ad08a9e..f721ca13e 100644 --- a/spring-cloud-sleuth-stream/pom.xml +++ b/spring-cloud-sleuth-stream/pom.xml @@ -12,7 +12,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.BUILD-SNAPSHOT + 1.3.1.RELEASE diff --git a/spring-cloud-sleuth-zipkin-legacy/pom.xml b/spring-cloud-sleuth-zipkin-legacy/pom.xml index ed9da0def..5e1f97751 100644 --- a/spring-cloud-sleuth-zipkin-legacy/pom.xml +++ b/spring-cloud-sleuth-zipkin-legacy/pom.xml @@ -28,7 +28,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.BUILD-SNAPSHOT + 1.3.1.RELEASE .. diff --git a/spring-cloud-sleuth-zipkin-stream/pom.xml b/spring-cloud-sleuth-zipkin-stream/pom.xml index 86ca1e764..0e06f46f9 100644 --- a/spring-cloud-sleuth-zipkin-stream/pom.xml +++ b/spring-cloud-sleuth-zipkin-stream/pom.xml @@ -12,7 +12,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.BUILD-SNAPSHOT + 1.3.1.RELEASE diff --git a/spring-cloud-sleuth-zipkin/pom.xml b/spring-cloud-sleuth-zipkin/pom.xml index db2831a03..d73336c63 100644 --- a/spring-cloud-sleuth-zipkin/pom.xml +++ b/spring-cloud-sleuth-zipkin/pom.xml @@ -28,7 +28,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.BUILD-SNAPSHOT + 1.3.1.RELEASE .. diff --git a/spring-cloud-starter-sleuth/pom.xml b/spring-cloud-starter-sleuth/pom.xml index 08258fea5..2277c0fdf 100644 --- a/spring-cloud-starter-sleuth/pom.xml +++ b/spring-cloud-starter-sleuth/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.BUILD-SNAPSHOT + 1.3.1.RELEASE .. spring-cloud-starter-sleuth diff --git a/spring-cloud-starter-zipkin-legacy/pom.xml b/spring-cloud-starter-zipkin-legacy/pom.xml index ef3f499b0..1e24b5ad2 100644 --- a/spring-cloud-starter-zipkin-legacy/pom.xml +++ b/spring-cloud-starter-zipkin-legacy/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.BUILD-SNAPSHOT + 1.3.1.RELEASE .. spring-cloud-starter-zipkin-legacy diff --git a/spring-cloud-starter-zipkin/pom.xml b/spring-cloud-starter-zipkin/pom.xml index 16e707639..09e5bf74b 100644 --- a/spring-cloud-starter-zipkin/pom.xml +++ b/spring-cloud-starter-zipkin/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.BUILD-SNAPSHOT + 1.3.1.RELEASE .. spring-cloud-starter-zipkin From 8dfe0a348de44a1a49bc28aca0d2c03e0d84a4df Mon Sep 17 00:00:00 2001 From: buildmaster Date: Tue, 16 Jan 2018 14:52:36 +0000 Subject: [PATCH 4/7] Going back to snapshots --- benchmarks/pom.xml | 2 +- docs/pom.xml | 2 +- pom.xml | 12 ++++++------ spring-cloud-sleuth-core/pom.xml | 2 +- spring-cloud-sleuth-dependencies/pom.xml | 4 ++-- spring-cloud-sleuth-reactor/pom.xml | 2 +- spring-cloud-sleuth-samples/pom.xml | 2 +- .../spring-cloud-sleuth-sample-feign/pom.xml | 2 +- .../spring-cloud-sleuth-sample-messaging/pom.xml | 2 +- .../spring-cloud-sleuth-sample-ribbon/pom.xml | 2 +- .../spring-cloud-sleuth-sample-test-core/pom.xml | 2 +- .../spring-cloud-sleuth-sample-websocket/pom.xml | 2 +- .../spring-cloud-sleuth-sample-zipkin/pom.xml | 2 +- .../spring-cloud-sleuth-sample/pom.xml | 2 +- spring-cloud-sleuth-stream/pom.xml | 2 +- spring-cloud-sleuth-zipkin-legacy/pom.xml | 2 +- spring-cloud-sleuth-zipkin-stream/pom.xml | 2 +- spring-cloud-sleuth-zipkin/pom.xml | 2 +- spring-cloud-starter-sleuth/pom.xml | 2 +- spring-cloud-starter-zipkin-legacy/pom.xml | 2 +- spring-cloud-starter-zipkin/pom.xml | 2 +- 21 files changed, 27 insertions(+), 27 deletions(-) diff --git a/benchmarks/pom.xml b/benchmarks/pom.xml index 4fa24d8c1..7165bfedb 100644 --- a/benchmarks/pom.xml +++ b/benchmarks/pom.xml @@ -17,7 +17,7 @@ Benchmarks Benchmarks (JMH) org.springframework.cloud - 1.3.1.RELEASE + 1.3.1.BUILD-SNAPSHOT benchmarks diff --git a/docs/pom.xml b/docs/pom.xml index b319977be..a51300fce 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.RELEASE + 1.3.1.BUILD-SNAPSHOT spring-cloud-sleuth-docs pom diff --git a/pom.xml b/pom.xml index a0d88c4d7..a41299bb8 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 spring-cloud-sleuth - 1.3.1.RELEASE + 1.3.1.BUILD-SNAPSHOT pom Spring Cloud Sleuth Spring Cloud Sleuth @@ -13,7 +13,7 @@ org.springframework.cloud spring-cloud-build - 1.3.7.RELEASE + 1.3.6.BUILD-SNAPSHOT @@ -241,10 +241,10 @@ 1.8 2.19.1 2.17 - 1.3.7.RELEASE - 1.3.1.RELEASE - Ditmars.SR3 - 1.4.2.RELEASE + 1.3.7.BUILD-SNAPSHOT + 1.3.1.BUILD-SNAPSHOT + Ditmars.BUILD-SNAPSHOT + 1.4.2.BUILD-SNAPSHOT 3.1.0.RELEASE 1.0.0 diff --git a/spring-cloud-sleuth-core/pom.xml b/spring-cloud-sleuth-core/pom.xml index 568c609d1..1ccb26481 100644 --- a/spring-cloud-sleuth-core/pom.xml +++ b/spring-cloud-sleuth-core/pom.xml @@ -11,7 +11,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.RELEASE + 1.3.1.BUILD-SNAPSHOT .. diff --git a/spring-cloud-sleuth-dependencies/pom.xml b/spring-cloud-sleuth-dependencies/pom.xml index 10b832eb3..6dc87eb5c 100644 --- a/spring-cloud-sleuth-dependencies/pom.xml +++ b/spring-cloud-sleuth-dependencies/pom.xml @@ -5,11 +5,11 @@ spring-cloud-dependencies-parent org.springframework.cloud - 1.3.7.RELEASE + 1.3.6.BUILD-SNAPSHOT spring-cloud-sleuth-dependencies - 1.3.1.RELEASE + 1.3.1.BUILD-SNAPSHOT pom spring-cloud-sleuth-dependencies Spring Cloud Sleuth Dependencies diff --git a/spring-cloud-sleuth-reactor/pom.xml b/spring-cloud-sleuth-reactor/pom.xml index 1f907fc05..07f3612ae 100644 --- a/spring-cloud-sleuth-reactor/pom.xml +++ b/spring-cloud-sleuth-reactor/pom.xml @@ -11,7 +11,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.RELEASE + 1.3.1.BUILD-SNAPSHOT .. diff --git a/spring-cloud-sleuth-samples/pom.xml b/spring-cloud-sleuth-samples/pom.xml index 2fe7ae6ad..11b98f3e7 100644 --- a/spring-cloud-sleuth-samples/pom.xml +++ b/spring-cloud-sleuth-samples/pom.xml @@ -12,7 +12,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.RELEASE + 1.3.1.BUILD-SNAPSHOT .. diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-feign/pom.xml b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-feign/pom.xml index 149db78b1..b222731e3 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-feign/pom.xml +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-feign/pom.xml @@ -20,7 +20,7 @@ org.springframework.cloud spring-cloud-sleuth-samples - 1.3.1.RELEASE + 1.3.1.BUILD-SNAPSHOT .. diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/pom.xml b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/pom.xml index 9bc559dd6..8f0c6ebfd 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/pom.xml +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/pom.xml @@ -28,7 +28,7 @@ org.springframework.cloud spring-cloud-sleuth-samples - 1.3.1.RELEASE + 1.3.1.BUILD-SNAPSHOT .. diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-ribbon/pom.xml b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-ribbon/pom.xml index 82a46cb19..568b4df1a 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-ribbon/pom.xml +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-ribbon/pom.xml @@ -28,7 +28,7 @@ org.springframework.cloud spring-cloud-sleuth-samples - 1.3.1.RELEASE + 1.3.1.BUILD-SNAPSHOT .. diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-test-core/pom.xml b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-test-core/pom.xml index ab4e33ee0..c2d17dfa1 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-test-core/pom.xml +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-test-core/pom.xml @@ -28,7 +28,7 @@ org.springframework.cloud spring-cloud-sleuth-samples - 1.3.1.RELEASE + 1.3.1.BUILD-SNAPSHOT .. diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-websocket/pom.xml b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-websocket/pom.xml index 2c9fc9eec..5dc277e0c 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-websocket/pom.xml +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-websocket/pom.xml @@ -28,7 +28,7 @@ org.springframework.cloud spring-cloud-sleuth-samples - 1.3.1.RELEASE + 1.3.1.BUILD-SNAPSHOT .. diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin/pom.xml b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin/pom.xml index f0e640046..9c951db45 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin/pom.xml +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin/pom.xml @@ -27,7 +27,7 @@ org.springframework.cloud spring-cloud-sleuth-samples - 1.3.1.RELEASE + 1.3.1.BUILD-SNAPSHOT .. diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/pom.xml b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/pom.xml index cfa630d86..ff377b7aa 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/pom.xml +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/pom.xml @@ -28,7 +28,7 @@ org.springframework.cloud spring-cloud-sleuth-samples - 1.3.1.RELEASE + 1.3.1.BUILD-SNAPSHOT .. diff --git a/spring-cloud-sleuth-stream/pom.xml b/spring-cloud-sleuth-stream/pom.xml index f721ca13e..b5ad08a9e 100644 --- a/spring-cloud-sleuth-stream/pom.xml +++ b/spring-cloud-sleuth-stream/pom.xml @@ -12,7 +12,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.RELEASE + 1.3.1.BUILD-SNAPSHOT diff --git a/spring-cloud-sleuth-zipkin-legacy/pom.xml b/spring-cloud-sleuth-zipkin-legacy/pom.xml index 5e1f97751..ed9da0def 100644 --- a/spring-cloud-sleuth-zipkin-legacy/pom.xml +++ b/spring-cloud-sleuth-zipkin-legacy/pom.xml @@ -28,7 +28,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.RELEASE + 1.3.1.BUILD-SNAPSHOT .. diff --git a/spring-cloud-sleuth-zipkin-stream/pom.xml b/spring-cloud-sleuth-zipkin-stream/pom.xml index 0e06f46f9..86ca1e764 100644 --- a/spring-cloud-sleuth-zipkin-stream/pom.xml +++ b/spring-cloud-sleuth-zipkin-stream/pom.xml @@ -12,7 +12,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.RELEASE + 1.3.1.BUILD-SNAPSHOT diff --git a/spring-cloud-sleuth-zipkin/pom.xml b/spring-cloud-sleuth-zipkin/pom.xml index d73336c63..db2831a03 100644 --- a/spring-cloud-sleuth-zipkin/pom.xml +++ b/spring-cloud-sleuth-zipkin/pom.xml @@ -28,7 +28,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.RELEASE + 1.3.1.BUILD-SNAPSHOT .. diff --git a/spring-cloud-starter-sleuth/pom.xml b/spring-cloud-starter-sleuth/pom.xml index 2277c0fdf..08258fea5 100644 --- a/spring-cloud-starter-sleuth/pom.xml +++ b/spring-cloud-starter-sleuth/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.RELEASE + 1.3.1.BUILD-SNAPSHOT .. spring-cloud-starter-sleuth diff --git a/spring-cloud-starter-zipkin-legacy/pom.xml b/spring-cloud-starter-zipkin-legacy/pom.xml index 1e24b5ad2..ef3f499b0 100644 --- a/spring-cloud-starter-zipkin-legacy/pom.xml +++ b/spring-cloud-starter-zipkin-legacy/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.RELEASE + 1.3.1.BUILD-SNAPSHOT .. spring-cloud-starter-zipkin-legacy diff --git a/spring-cloud-starter-zipkin/pom.xml b/spring-cloud-starter-zipkin/pom.xml index 09e5bf74b..16e707639 100644 --- a/spring-cloud-starter-zipkin/pom.xml +++ b/spring-cloud-starter-zipkin/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.RELEASE + 1.3.1.BUILD-SNAPSHOT .. spring-cloud-starter-zipkin From 9056db494bd16927bae5b0f017291c6201ad9325 Mon Sep 17 00:00:00 2001 From: buildmaster Date: Tue, 16 Jan 2018 14:52:36 +0000 Subject: [PATCH 5/7] Bumping versions to 1.3.2.BUILD-SNAPSHOT after release --- benchmarks/pom.xml | 2 +- docs/pom.xml | 2 +- pom.xml | 2 +- spring-cloud-sleuth-core/pom.xml | 2 +- spring-cloud-sleuth-dependencies/pom.xml | 2 +- spring-cloud-sleuth-reactor/pom.xml | 2 +- spring-cloud-sleuth-samples/pom.xml | 2 +- .../spring-cloud-sleuth-sample-feign/pom.xml | 2 +- .../spring-cloud-sleuth-sample-messaging/pom.xml | 2 +- .../spring-cloud-sleuth-sample-ribbon/pom.xml | 2 +- .../spring-cloud-sleuth-sample-test-core/pom.xml | 2 +- .../spring-cloud-sleuth-sample-websocket/pom.xml | 2 +- .../spring-cloud-sleuth-sample-zipkin/pom.xml | 2 +- spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/pom.xml | 2 +- spring-cloud-sleuth-stream/pom.xml | 2 +- spring-cloud-sleuth-zipkin-legacy/pom.xml | 2 +- spring-cloud-sleuth-zipkin-stream/pom.xml | 2 +- spring-cloud-sleuth-zipkin/pom.xml | 2 +- spring-cloud-starter-sleuth/pom.xml | 2 +- spring-cloud-starter-zipkin-legacy/pom.xml | 2 +- spring-cloud-starter-zipkin/pom.xml | 2 +- 21 files changed, 21 insertions(+), 21 deletions(-) diff --git a/benchmarks/pom.xml b/benchmarks/pom.xml index 7165bfedb..b65c4b8f1 100644 --- a/benchmarks/pom.xml +++ b/benchmarks/pom.xml @@ -17,7 +17,7 @@ Benchmarks Benchmarks (JMH) org.springframework.cloud - 1.3.1.BUILD-SNAPSHOT + 1.3.2.BUILD-SNAPSHOT benchmarks diff --git a/docs/pom.xml b/docs/pom.xml index a51300fce..2f598275d 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.BUILD-SNAPSHOT + 1.3.2.BUILD-SNAPSHOT spring-cloud-sleuth-docs pom diff --git a/pom.xml b/pom.xml index a41299bb8..91f8af857 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 spring-cloud-sleuth - 1.3.1.BUILD-SNAPSHOT + 1.3.2.BUILD-SNAPSHOT pom Spring Cloud Sleuth Spring Cloud Sleuth diff --git a/spring-cloud-sleuth-core/pom.xml b/spring-cloud-sleuth-core/pom.xml index 1ccb26481..205a77dae 100644 --- a/spring-cloud-sleuth-core/pom.xml +++ b/spring-cloud-sleuth-core/pom.xml @@ -11,7 +11,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.BUILD-SNAPSHOT + 1.3.2.BUILD-SNAPSHOT .. diff --git a/spring-cloud-sleuth-dependencies/pom.xml b/spring-cloud-sleuth-dependencies/pom.xml index 6dc87eb5c..0a3c1867b 100644 --- a/spring-cloud-sleuth-dependencies/pom.xml +++ b/spring-cloud-sleuth-dependencies/pom.xml @@ -9,7 +9,7 @@ spring-cloud-sleuth-dependencies - 1.3.1.BUILD-SNAPSHOT + 1.3.2.BUILD-SNAPSHOT pom spring-cloud-sleuth-dependencies Spring Cloud Sleuth Dependencies diff --git a/spring-cloud-sleuth-reactor/pom.xml b/spring-cloud-sleuth-reactor/pom.xml index 07f3612ae..8e4e14ca0 100644 --- a/spring-cloud-sleuth-reactor/pom.xml +++ b/spring-cloud-sleuth-reactor/pom.xml @@ -11,7 +11,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.BUILD-SNAPSHOT + 1.3.2.BUILD-SNAPSHOT .. diff --git a/spring-cloud-sleuth-samples/pom.xml b/spring-cloud-sleuth-samples/pom.xml index 11b98f3e7..09314b5ed 100644 --- a/spring-cloud-sleuth-samples/pom.xml +++ b/spring-cloud-sleuth-samples/pom.xml @@ -12,7 +12,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.BUILD-SNAPSHOT + 1.3.2.BUILD-SNAPSHOT .. diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-feign/pom.xml b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-feign/pom.xml index b222731e3..1c03dc172 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-feign/pom.xml +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-feign/pom.xml @@ -20,7 +20,7 @@ org.springframework.cloud spring-cloud-sleuth-samples - 1.3.1.BUILD-SNAPSHOT + 1.3.2.BUILD-SNAPSHOT .. diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/pom.xml b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/pom.xml index 8f0c6ebfd..923c9ca18 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/pom.xml +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-messaging/pom.xml @@ -28,7 +28,7 @@ org.springframework.cloud spring-cloud-sleuth-samples - 1.3.1.BUILD-SNAPSHOT + 1.3.2.BUILD-SNAPSHOT .. diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-ribbon/pom.xml b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-ribbon/pom.xml index 568b4df1a..83dbdad4e 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-ribbon/pom.xml +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-ribbon/pom.xml @@ -28,7 +28,7 @@ org.springframework.cloud spring-cloud-sleuth-samples - 1.3.1.BUILD-SNAPSHOT + 1.3.2.BUILD-SNAPSHOT .. diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-test-core/pom.xml b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-test-core/pom.xml index c2d17dfa1..ba38a2bc9 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-test-core/pom.xml +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-test-core/pom.xml @@ -28,7 +28,7 @@ org.springframework.cloud spring-cloud-sleuth-samples - 1.3.1.BUILD-SNAPSHOT + 1.3.2.BUILD-SNAPSHOT .. diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-websocket/pom.xml b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-websocket/pom.xml index 5dc277e0c..1079eb331 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-websocket/pom.xml +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-websocket/pom.xml @@ -28,7 +28,7 @@ org.springframework.cloud spring-cloud-sleuth-samples - 1.3.1.BUILD-SNAPSHOT + 1.3.2.BUILD-SNAPSHOT .. diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin/pom.xml b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin/pom.xml index 9c951db45..bfee71a85 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin/pom.xml +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin/pom.xml @@ -27,7 +27,7 @@ org.springframework.cloud spring-cloud-sleuth-samples - 1.3.1.BUILD-SNAPSHOT + 1.3.2.BUILD-SNAPSHOT .. diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/pom.xml b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/pom.xml index ff377b7aa..5523258d9 100644 --- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/pom.xml +++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample/pom.xml @@ -28,7 +28,7 @@ org.springframework.cloud spring-cloud-sleuth-samples - 1.3.1.BUILD-SNAPSHOT + 1.3.2.BUILD-SNAPSHOT .. diff --git a/spring-cloud-sleuth-stream/pom.xml b/spring-cloud-sleuth-stream/pom.xml index b5ad08a9e..8775a95ae 100644 --- a/spring-cloud-sleuth-stream/pom.xml +++ b/spring-cloud-sleuth-stream/pom.xml @@ -12,7 +12,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.BUILD-SNAPSHOT + 1.3.2.BUILD-SNAPSHOT diff --git a/spring-cloud-sleuth-zipkin-legacy/pom.xml b/spring-cloud-sleuth-zipkin-legacy/pom.xml index ed9da0def..c2685d0c1 100644 --- a/spring-cloud-sleuth-zipkin-legacy/pom.xml +++ b/spring-cloud-sleuth-zipkin-legacy/pom.xml @@ -28,7 +28,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.BUILD-SNAPSHOT + 1.3.2.BUILD-SNAPSHOT .. diff --git a/spring-cloud-sleuth-zipkin-stream/pom.xml b/spring-cloud-sleuth-zipkin-stream/pom.xml index 86ca1e764..42f90c506 100644 --- a/spring-cloud-sleuth-zipkin-stream/pom.xml +++ b/spring-cloud-sleuth-zipkin-stream/pom.xml @@ -12,7 +12,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.BUILD-SNAPSHOT + 1.3.2.BUILD-SNAPSHOT diff --git a/spring-cloud-sleuth-zipkin/pom.xml b/spring-cloud-sleuth-zipkin/pom.xml index db2831a03..5ebe2113f 100644 --- a/spring-cloud-sleuth-zipkin/pom.xml +++ b/spring-cloud-sleuth-zipkin/pom.xml @@ -28,7 +28,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.BUILD-SNAPSHOT + 1.3.2.BUILD-SNAPSHOT .. diff --git a/spring-cloud-starter-sleuth/pom.xml b/spring-cloud-starter-sleuth/pom.xml index 08258fea5..648a442f6 100644 --- a/spring-cloud-starter-sleuth/pom.xml +++ b/spring-cloud-starter-sleuth/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.BUILD-SNAPSHOT + 1.3.2.BUILD-SNAPSHOT .. spring-cloud-starter-sleuth diff --git a/spring-cloud-starter-zipkin-legacy/pom.xml b/spring-cloud-starter-zipkin-legacy/pom.xml index ef3f499b0..6f0744670 100644 --- a/spring-cloud-starter-zipkin-legacy/pom.xml +++ b/spring-cloud-starter-zipkin-legacy/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.BUILD-SNAPSHOT + 1.3.2.BUILD-SNAPSHOT .. spring-cloud-starter-zipkin-legacy diff --git a/spring-cloud-starter-zipkin/pom.xml b/spring-cloud-starter-zipkin/pom.xml index 16e707639..3d09bc7f2 100644 --- a/spring-cloud-starter-zipkin/pom.xml +++ b/spring-cloud-starter-zipkin/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-sleuth - 1.3.1.BUILD-SNAPSHOT + 1.3.2.BUILD-SNAPSHOT .. spring-cloud-starter-zipkin From 2bd669cb2cbfcb8aad2e0d2be46bad471b652463 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Sat, 20 Jan 2018 16:58:03 +0100 Subject: [PATCH 6/7] Should detach span from trace filter for async; fixes #728 --- .../cloud/sleuth/instrument/web/TraceFilter.java | 4 ++-- .../instrument/web/TraceHandlerInterceptor.java | 1 + .../cloud/sleuth/zipkin/ZipkinSpanListenerTests.java | 12 ++---------- 3 files changed, 5 insertions(+), 12 deletions(-) diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceFilter.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceFilter.java index fa7af77e7..5c0385039 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceFilter.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceFilter.java @@ -172,9 +172,9 @@ public class TraceFilter extends GenericFilterBean { } finally { if (isAsyncStarted(request) || request.isAsyncStarted()) { if (log.isDebugEnabled()) { - log.debug("The span " + spanFromRequest + " will get detached by a HandleInterceptor"); + log.debug("The span " + this.tracer.getCurrentSpan() + " will get detached"); } - // TODO: how to deal with response annotations and async? + this.tracer.detach(this.tracer.getCurrentSpan()); return; } detachOrCloseSpans(request, response, spanFromRequest, exception); diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceHandlerInterceptor.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceHandlerInterceptor.java index b24515067..eae2285bb 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceHandlerInterceptor.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceHandlerInterceptor.java @@ -68,6 +68,7 @@ public class TraceHandlerInterceptor extends HandlerInterceptorAdapter { String spanName = spanName(handler); boolean continueSpan = getRootSpanFromAttribute(request) != null; Span span = continueSpan ? getRootSpanFromAttribute(request) : getTracer().createSpan(spanName); + getTracer().continueSpan(span); if (log.isDebugEnabled()) { log.debug("Handling span " + span); } diff --git a/spring-cloud-sleuth-zipkin-legacy/src/test/java/org/springframework/cloud/sleuth/zipkin/ZipkinSpanListenerTests.java b/spring-cloud-sleuth-zipkin-legacy/src/test/java/org/springframework/cloud/sleuth/zipkin/ZipkinSpanListenerTests.java index 14fbf4ab7..7be3ec235 100644 --- a/spring-cloud-sleuth-zipkin-legacy/src/test/java/org/springframework/cloud/sleuth/zipkin/ZipkinSpanListenerTests.java +++ b/spring-cloud-sleuth-zipkin-legacy/src/test/java/org/springframework/cloud/sleuth/zipkin/ZipkinSpanListenerTests.java @@ -16,20 +16,12 @@ package org.springframework.cloud.sleuth.zipkin; -import org.assertj.core.api.Condition; -import org.junit.Ignore; -import org.springframework.cloud.client.ServiceInstance; -import org.springframework.cloud.client.discovery.DiscoveryClient; -import zipkin.Constants; - -import java.net.URI; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collections; import java.util.List; -import java.util.Map; import javax.annotation.PostConstruct; +import org.assertj.core.api.Condition; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; @@ -42,12 +34,12 @@ import org.springframework.cloud.sleuth.SpanReporter; import org.springframework.cloud.sleuth.Tracer; import org.springframework.cloud.sleuth.sampler.AlwaysSampler; import org.springframework.cloud.sleuth.zipkin.ZipkinSpanListenerTests.TestConfiguration; -import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; import org.springframework.mock.env.MockEnvironment; import org.springframework.test.context.junit4.SpringRunner; +import zipkin.Constants; import zipkin.Endpoint; import static org.assertj.core.api.Assertions.assertThat; From 33dd940fd7b7f75342b4bf29eeb678eb88d29549 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Sat, 20 Jan 2018 17:48:32 +0100 Subject: [PATCH 7/7] RestTemplate: register Trace interceptor *first* in the chain; fixes #822 --- .../TraceWebClientAutoConfiguration.java | 57 +++++++++---------- .../client/integration/WebClientTests.java | 23 ++++++++ 2 files changed, 51 insertions(+), 29 deletions(-) diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceWebClientAutoConfiguration.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceWebClientAutoConfiguration.java index 167e8ab2a..fd8ac3c84 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceWebClientAutoConfiguration.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/client/TraceWebClientAutoConfiguration.java @@ -30,7 +30,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.security.oauth2.resource.UserInfoRestTemplateCustomizer; -import org.springframework.boot.web.client.RestTemplateBuilder; +import org.springframework.boot.web.client.RestTemplateCustomizer; import org.springframework.cloud.sleuth.ErrorParser; import org.springframework.cloud.sleuth.Tracer; import org.springframework.cloud.sleuth.instrument.web.HttpSpanInjector; @@ -38,6 +38,8 @@ import org.springframework.cloud.sleuth.instrument.web.HttpTraceKeysInjector; import org.springframework.cloud.sleuth.instrument.web.TraceWebAutoConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.core.Ordered; +import org.springframework.core.annotation.Order; import org.springframework.http.client.ClientHttpRequestInterceptor; import org.springframework.security.oauth2.client.OAuth2RestTemplate; import org.springframework.web.client.RestTemplate; @@ -66,33 +68,6 @@ public class TraceWebClientAutoConfiguration { httpTraceKeysInjector, errorParser); } - @Bean - public BeanPostProcessor traceRestTemplateBuilderBPP(BeanFactory beanFactory) { - return new TraceRestTemplateBuilderBPP(beanFactory); - } - - private static class TraceRestTemplateBuilderBPP implements BeanPostProcessor { - private final BeanFactory beanFactory; - - private TraceRestTemplateBuilderBPP(BeanFactory beanFactory) { - this.beanFactory = beanFactory; - } - - @Override public Object postProcessBeforeInitialization(Object o, String s) - throws BeansException { - return o; - } - - @Override public Object postProcessAfterInitialization(Object o, String s) - throws BeansException { - if (o instanceof RestTemplateBuilder) { - RestTemplateBuilder builder = (RestTemplateBuilder) o; - return builder.additionalInterceptors(this.beanFactory.getBean(TraceRestTemplateInterceptor.class)); - } - return o; - } - } - @Configuration protected static class TraceInterceptorConfiguration { @@ -102,6 +77,17 @@ public class TraceWebClientAutoConfiguration { @Autowired private TraceRestTemplateInterceptor traceRestTemplateInterceptor; + @Bean + @Order(Ordered.HIGHEST_PRECEDENCE) + RestTemplateCustomizer traceRestTemplateCustomizer() { + return new RestTemplateCustomizer() { + @Override public void customize(RestTemplate restTemplate) { + new RestTemplateInterceptorInjector(TraceInterceptorConfiguration.this.traceRestTemplateInterceptor) + .inject(restTemplate); + } + }; + } + @PostConstruct public void init() { if (this.restTemplates != null) { @@ -166,11 +152,24 @@ class RestTemplateInterceptorInjector { } void inject(RestTemplate restTemplate) { + if (hasTraceInterceptor(restTemplate)) { + return; + } List interceptors = new ArrayList( restTemplate.getInterceptors()); - interceptors.add(this.interceptor); + interceptors.add(0, this.interceptor); restTemplate.setInterceptors(interceptors); } + + private boolean hasTraceInterceptor(RestTemplate restTemplate) { + for (ClientHttpRequestInterceptor interceptor : restTemplate + .getInterceptors()) { + if (interceptor instanceof TraceRestTemplateInterceptor) { + return true; + } + } + return false; + } } class TraceUserInfoRestTemplateCustomizer implements UserInfoRestTemplateCustomizer { diff --git a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/integration/WebClientTests.java b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/integration/WebClientTests.java index d757f5554..ef3a6fc43 100644 --- a/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/integration/WebClientTests.java +++ b/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/integration/WebClientTests.java @@ -44,6 +44,7 @@ import org.springframework.boot.autoconfigure.web.ServerProperties; import org.springframework.boot.context.embedded.LocalServerPort; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.web.client.RestTemplateBuilder; +import org.springframework.boot.web.client.RestTemplateCustomizer; import org.springframework.cloud.client.loadbalancer.LoadBalanced; import org.springframework.cloud.netflix.feign.EnableFeignClients; import org.springframework.cloud.netflix.feign.FeignClient; @@ -54,6 +55,7 @@ import org.springframework.cloud.sleuth.Span; import org.springframework.cloud.sleuth.SpanReporter; import org.springframework.cloud.sleuth.Tracer; import org.springframework.cloud.sleuth.assertions.ListOfSpans; +import org.springframework.cloud.sleuth.instrument.web.client.TraceRestTemplateInterceptor; import org.springframework.cloud.sleuth.sampler.AlwaysSampler; import org.springframework.cloud.sleuth.trace.TestSpanContextHolder; import org.springframework.cloud.sleuth.util.ArrayListSpanAccumulator; @@ -103,6 +105,7 @@ public class WebClientTests { @Autowired RestTemplateBuilder restTemplateBuilder; @LocalServerPort int port; @Autowired FooController fooController; + @Autowired MyRestTemplateCustomizer customizer; @After public void close() { @@ -286,6 +289,7 @@ public class WebClientTests { Span spanInController = this.fooController.getSpan(); BDDAssertions.then(spanInController).isNotNull(); then(spanInController.getTraceId()).isEqualTo(span.getTraceId()); + then(this.customizer.isExecuted()).isTrue(); } finally { this.tracer.close(span); } @@ -352,6 +356,25 @@ public class WebClientTests { SpanReporter spanReporter() { return new ArrayListSpanAccumulator(); } + + @Bean + RestTemplateCustomizer myRestTemplateCustomizer() { + return new MyRestTemplateCustomizer(); + } + } + + static class MyRestTemplateCustomizer implements RestTemplateCustomizer { + boolean executed; + + @Override public void customize(RestTemplate restTemplate) { + this.executed = true; + then(restTemplate.getInterceptors().get(0)).isInstanceOf( + TraceRestTemplateInterceptor.class); + } + + public boolean isExecuted() { + return executed; + } } public static class TestErrorController extends BasicErrorController {