diff --git a/docs/pom.xml b/docs/pom.xml
index 9d5381169..3a375fdfa 100644
--- a/docs/pom.xml
+++ b/docs/pom.xml
@@ -5,7 +5,7 @@
org.springframework.cloud
spring-cloud-sleuth
- 1.1.3.BUILD-SNAPSHOT
+ 1.1.4.BUILD-SNAPSHOT
spring-cloud-sleuth-docs
pom
diff --git a/mvnw.cmd b/mvnw.cmd
index fc8302432..b0dc0e7e9 100644
--- a/mvnw.cmd
+++ b/mvnw.cmd
@@ -1,145 +1,145 @@
-@REM ----------------------------------------------------------------------------
-@REM Licensed to the Apache Software Foundation (ASF) under one
-@REM or more contributor license agreements. See the NOTICE file
-@REM distributed with this work for additional information
-@REM regarding copyright ownership. The ASF licenses this file
-@REM to you under the Apache License, Version 2.0 (the
-@REM "License"); you may not use this file except in compliance
-@REM with the License. You may obtain a copy of the License at
-@REM
-@REM http://www.apache.org/licenses/LICENSE-2.0
-@REM
-@REM Unless required by applicable law or agreed to in writing,
-@REM software distributed under the License is distributed on an
-@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@REM KIND, either express or implied. See the License for the
-@REM specific language governing permissions and limitations
-@REM under the License.
-@REM ----------------------------------------------------------------------------
-
-@REM ----------------------------------------------------------------------------
-@REM Maven2 Start Up Batch script
-@REM
-@REM Required ENV vars:
-@REM JAVA_HOME - location of a JDK home dir
-@REM
-@REM Optional ENV vars
-@REM M2_HOME - location of maven2's installed home dir
-@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
-@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending
-@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
-@REM e.g. to debug Maven itself, use
-@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
-@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
-@REM ----------------------------------------------------------------------------
-
-@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
-@echo off
-@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on'
-@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
-
-@REM set %HOME% to equivalent of $HOME
-if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
-
-@REM Execute a user defined script before this one
-if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
-@REM check for pre script, once with legacy .bat ending and once with .cmd ending
-if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
-if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
-:skipRcPre
-
-@setlocal
-
-set ERROR_CODE=0
-
-@REM To isolate internal variables from possible post scripts, we use another setlocal
-@setlocal
-
-@REM ==== START VALIDATION ====
-if not "%JAVA_HOME%" == "" goto OkJHome
-
-echo.
-echo Error: JAVA_HOME not found in your environment. >&2
-echo Please set the JAVA_HOME variable in your environment to match the >&2
-echo location of your Java installation. >&2
-echo.
-goto error
-
-:OkJHome
-if exist "%JAVA_HOME%\bin\java.exe" goto init
-
-echo.
-echo Error: JAVA_HOME is set to an invalid directory. >&2
-echo JAVA_HOME = "%JAVA_HOME%" >&2
-echo Please set the JAVA_HOME variable in your environment to match the >&2
-echo location of your Java installation. >&2
-echo.
-goto error
-
-@REM ==== END VALIDATION ====
-
-:init
-
-set MAVEN_CMD_LINE_ARGS=%*
-
-@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
-@REM Fallback to current working directory if not found.
-
-set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
-IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
-
-set EXEC_DIR=%CD%
-set WDIR=%EXEC_DIR%
-:findBaseDir
-IF EXIST "%WDIR%"\.mvn goto baseDirFound
-cd ..
-IF "%WDIR%"=="%CD%" goto baseDirNotFound
-set WDIR=%CD%
-goto findBaseDir
-
-:baseDirFound
-set MAVEN_PROJECTBASEDIR=%WDIR%
-cd "%EXEC_DIR%"
-goto endDetectBaseDir
-
-:baseDirNotFound
-set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
-cd "%EXEC_DIR%"
-
-:endDetectBaseDir
-
-IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
-
-@setlocal EnableExtensions EnableDelayedExpansion
-for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
-@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
-
-:endReadAdditionalConfig
-
-SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
+@REM ----------------------------------------------------------------------------
+@REM Licensed to the Apache Software Foundation (ASF) under one
+@REM or more contributor license agreements. See the NOTICE file
+@REM distributed with this work for additional information
+@REM regarding copyright ownership. The ASF licenses this file
+@REM to you under the Apache License, Version 2.0 (the
+@REM "License"); you may not use this file except in compliance
+@REM with the License. You may obtain a copy of the License at
+@REM
+@REM http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing,
+@REM software distributed under the License is distributed on an
+@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+@REM KIND, either express or implied. See the License for the
+@REM specific language governing permissions and limitations
+@REM under the License.
+@REM ----------------------------------------------------------------------------
+
+@REM ----------------------------------------------------------------------------
+@REM Maven2 Start Up Batch script
+@REM
+@REM Required ENV vars:
+@REM JAVA_HOME - location of a JDK home dir
+@REM
+@REM Optional ENV vars
+@REM M2_HOME - location of maven2's installed home dir
+@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
+@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending
+@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
+@REM e.g. to debug Maven itself, use
+@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+@REM ----------------------------------------------------------------------------
+
+@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
+@echo off
+@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on'
+@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
+
+@REM set %HOME% to equivalent of $HOME
+if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
+
+@REM Execute a user defined script before this one
+if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
+@REM check for pre script, once with legacy .bat ending and once with .cmd ending
+if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
+if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
+:skipRcPre
+
+@setlocal
+
+set ERROR_CODE=0
+
+@REM To isolate internal variables from possible post scripts, we use another setlocal
+@setlocal
+
+@REM ==== START VALIDATION ====
+if not "%JAVA_HOME%" == "" goto OkJHome
+
+echo.
+echo Error: JAVA_HOME not found in your environment. >&2
+echo Please set the JAVA_HOME variable in your environment to match the >&2
+echo location of your Java installation. >&2
+echo.
+goto error
+
+:OkJHome
+if exist "%JAVA_HOME%\bin\java.exe" goto init
+
+echo.
+echo Error: JAVA_HOME is set to an invalid directory. >&2
+echo JAVA_HOME = "%JAVA_HOME%" >&2
+echo Please set the JAVA_HOME variable in your environment to match the >&2
+echo location of your Java installation. >&2
+echo.
+goto error
+
+@REM ==== END VALIDATION ====
+
+:init
+
+set MAVEN_CMD_LINE_ARGS=%*
+
+@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
+@REM Fallback to current working directory if not found.
+
+set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
+IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
+
+set EXEC_DIR=%CD%
+set WDIR=%EXEC_DIR%
+:findBaseDir
+IF EXIST "%WDIR%"\.mvn goto baseDirFound
+cd ..
+IF "%WDIR%"=="%CD%" goto baseDirNotFound
+set WDIR=%CD%
+goto findBaseDir
+
+:baseDirFound
+set MAVEN_PROJECTBASEDIR=%WDIR%
+cd "%EXEC_DIR%"
+goto endDetectBaseDir
+
+:baseDirNotFound
+set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
+cd "%EXEC_DIR%"
+
+:endDetectBaseDir
+
+IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
+
+@setlocal EnableExtensions EnableDelayedExpansion
+for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
+@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
+
+:endReadAdditionalConfig
+
+SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
set WRAPPER_JAR="".\.mvn\wrapper\maven-wrapper.jar""
-set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
-
-%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CMD_LINE_ARGS%
-if ERRORLEVEL 1 goto error
-goto end
-
-:error
-set ERROR_CODE=1
-
-:end
-@endlocal & set ERROR_CODE=%ERROR_CODE%
-
-if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
-@REM check for post script, once with legacy .bat ending and once with .cmd ending
-if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
-if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
-:skipRcPost
-
-@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
-if "%MAVEN_BATCH_PAUSE%" == "on" pause
-
-if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
-
-exit /B %ERROR_CODE%
+set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
+
+%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CMD_LINE_ARGS%
+if ERRORLEVEL 1 goto error
+goto end
+
+:error
+set ERROR_CODE=1
+
+:end
+@endlocal & set ERROR_CODE=%ERROR_CODE%
+
+if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
+@REM check for post script, once with legacy .bat ending and once with .cmd ending
+if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
+if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
+:skipRcPost
+
+@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
+if "%MAVEN_BATCH_PAUSE%" == "on" pause
+
+if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
+
+exit /B %ERROR_CODE%
diff --git a/pom.xml b/pom.xml
index 98bc251bf..c03a25d16 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
4.0.0
spring-cloud-sleuth
- 1.1.3.BUILD-SNAPSHOT
+ 1.1.4.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 422c4855c..228a88e7d 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.1.3.BUILD-SNAPSHOT
+ 1.1.4.BUILD-SNAPSHOT
..
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceableExecutorService.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceableExecutorService.java
index fbf547f28..0218b8074 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceableExecutorService.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceableExecutorService.java
@@ -1,174 +1,174 @@
-/*
- * Copyright 2015 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.async;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Future;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-
-import org.springframework.beans.factory.BeanFactory;
-import org.springframework.cloud.sleuth.SpanNamer;
-import org.springframework.cloud.sleuth.TraceKeys;
-import org.springframework.cloud.sleuth.Tracer;
-
-/**
- * A decorator class for {@link ExecutorService} to support tracing in Executors
- *
- * @author Gaurav Rai Mazra
- * @since 1.0.0
- */
-public class TraceableExecutorService implements ExecutorService {
- ExecutorService delegate;
- Tracer tracer;
- private final String spanName;
- TraceKeys traceKeys;
- SpanNamer spanNamer;
- BeanFactory beanFactory;
-
- public TraceableExecutorService(final ExecutorService delegate, final Tracer tracer,
- TraceKeys traceKeys, SpanNamer spanNamer) {
- this(delegate, tracer, traceKeys, spanNamer, null);
- }
-
- public TraceableExecutorService(BeanFactory beanFactory, final ExecutorService delegate) {
- this.delegate = delegate;
- this.beanFactory = beanFactory;
- this.spanName = null;
- }
-
- public TraceableExecutorService(final ExecutorService delegate, final Tracer tracer,
- TraceKeys traceKeys, SpanNamer spanNamer, String spanName) {
- this.delegate = delegate;
- this.tracer = tracer;
- this.spanName = spanName;
- this.traceKeys = traceKeys;
- this.spanNamer = spanNamer;
- }
-
- @Override
- public void execute(Runnable command) {
- final Runnable r = new LocalComponentTraceRunnable(tracer(), traceKeys(),
- spanNamer(), command, this.spanName);
- this.delegate.execute(r);
- }
-
- @Override
- public void shutdown() {
- this.delegate.shutdown();
- }
-
- @Override
- public List shutdownNow() {
- return this.delegate.shutdownNow();
- }
-
- @Override
- public boolean isShutdown() {
- return this.delegate.isShutdown();
- }
-
- @Override
- public boolean isTerminated() {
- return this.delegate.isTerminated();
- }
-
- @Override
- public boolean awaitTermination(long timeout, TimeUnit unit) throws InterruptedException {
- return this.delegate.awaitTermination(timeout, unit);
- }
-
- @Override
- public Future submit(Callable task) {
- Callable c = new LocalComponentTraceCallable<>(tracer(), traceKeys(),
- spanNamer(), this.spanName, task);
- return this.delegate.submit(c);
- }
-
- @Override
- public Future submit(Runnable task, T result) {
- Runnable r = new LocalComponentTraceRunnable(tracer(), traceKeys(),
- spanNamer(), task, this.spanName);
- return this.delegate.submit(r, result);
- }
-
- @Override
- public Future> submit(Runnable task) {
- Runnable r = new LocalComponentTraceRunnable(tracer(), traceKeys(),
- spanNamer(), task, this.spanName);
- return this.delegate.submit(r);
- }
-
- @Override
- public List> invokeAll(Collection extends Callable> tasks) throws InterruptedException {
- return this.delegate.invokeAll(wrapCallableCollection(tasks));
- }
-
- @Override
- public List> invokeAll(Collection extends Callable> tasks, long timeout, TimeUnit unit)
- throws InterruptedException {
- return this.delegate.invokeAll(wrapCallableCollection(tasks), timeout, unit);
- }
-
- @Override
- public T invokeAny(Collection extends Callable> tasks) throws InterruptedException, ExecutionException {
- return this.delegate.invokeAny(wrapCallableCollection(tasks));
- }
-
- @Override
- public T invokeAny(Collection extends Callable> tasks, long timeout, TimeUnit unit)
- throws InterruptedException, ExecutionException, TimeoutException {
- return this.delegate.invokeAny(wrapCallableCollection(tasks), timeout, unit);
- }
-
- private Collection extends Callable> wrapCallableCollection(Collection extends Callable> tasks) {
- List> ts = new ArrayList<>();
- for (Callable task : tasks) {
- if (!(task instanceof LocalComponentTraceCallable)) {
- ts.add(new LocalComponentTraceCallable<>(tracer(), traceKeys(),
- spanNamer(), this.spanName, task));
- }
- }
- return ts;
- }
-
- Tracer tracer() {
- if (this.tracer == null && this.beanFactory != null) {
- this.tracer = this.beanFactory.getBean(Tracer.class);
- }
- return this.tracer;
- }
-
- TraceKeys traceKeys() {
- if (this.traceKeys == null && this.beanFactory != null) {
- this.traceKeys = this.beanFactory.getBean(TraceKeys.class);
- }
- return this.traceKeys;
- }
-
- SpanNamer spanNamer() {
- if (this.spanNamer == null && this.beanFactory != null) {
- this.spanNamer = this.beanFactory.getBean(SpanNamer.class);
- }
- return this.spanNamer;
- }
-
-}
+/*
+ * Copyright 2015 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.async;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Future;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
+
+import org.springframework.beans.factory.BeanFactory;
+import org.springframework.cloud.sleuth.SpanNamer;
+import org.springframework.cloud.sleuth.TraceKeys;
+import org.springframework.cloud.sleuth.Tracer;
+
+/**
+ * A decorator class for {@link ExecutorService} to support tracing in Executors
+ *
+ * @author Gaurav Rai Mazra
+ * @since 1.0.0
+ */
+public class TraceableExecutorService implements ExecutorService {
+ ExecutorService delegate;
+ Tracer tracer;
+ private final String spanName;
+ TraceKeys traceKeys;
+ SpanNamer spanNamer;
+ BeanFactory beanFactory;
+
+ public TraceableExecutorService(final ExecutorService delegate, final Tracer tracer,
+ TraceKeys traceKeys, SpanNamer spanNamer) {
+ this(delegate, tracer, traceKeys, spanNamer, null);
+ }
+
+ public TraceableExecutorService(BeanFactory beanFactory, final ExecutorService delegate) {
+ this.delegate = delegate;
+ this.beanFactory = beanFactory;
+ this.spanName = null;
+ }
+
+ public TraceableExecutorService(final ExecutorService delegate, final Tracer tracer,
+ TraceKeys traceKeys, SpanNamer spanNamer, String spanName) {
+ this.delegate = delegate;
+ this.tracer = tracer;
+ this.spanName = spanName;
+ this.traceKeys = traceKeys;
+ this.spanNamer = spanNamer;
+ }
+
+ @Override
+ public void execute(Runnable command) {
+ final Runnable r = new LocalComponentTraceRunnable(tracer(), traceKeys(),
+ spanNamer(), command, this.spanName);
+ this.delegate.execute(r);
+ }
+
+ @Override
+ public void shutdown() {
+ this.delegate.shutdown();
+ }
+
+ @Override
+ public List shutdownNow() {
+ return this.delegate.shutdownNow();
+ }
+
+ @Override
+ public boolean isShutdown() {
+ return this.delegate.isShutdown();
+ }
+
+ @Override
+ public boolean isTerminated() {
+ return this.delegate.isTerminated();
+ }
+
+ @Override
+ public boolean awaitTermination(long timeout, TimeUnit unit) throws InterruptedException {
+ return this.delegate.awaitTermination(timeout, unit);
+ }
+
+ @Override
+ public Future submit(Callable task) {
+ Callable c = new LocalComponentTraceCallable<>(tracer(), traceKeys(),
+ spanNamer(), this.spanName, task);
+ return this.delegate.submit(c);
+ }
+
+ @Override
+ public Future submit(Runnable task, T result) {
+ Runnable r = new LocalComponentTraceRunnable(tracer(), traceKeys(),
+ spanNamer(), task, this.spanName);
+ return this.delegate.submit(r, result);
+ }
+
+ @Override
+ public Future> submit(Runnable task) {
+ Runnable r = new LocalComponentTraceRunnable(tracer(), traceKeys(),
+ spanNamer(), task, this.spanName);
+ return this.delegate.submit(r);
+ }
+
+ @Override
+ public List> invokeAll(Collection extends Callable> tasks) throws InterruptedException {
+ return this.delegate.invokeAll(wrapCallableCollection(tasks));
+ }
+
+ @Override
+ public List> invokeAll(Collection extends Callable> tasks, long timeout, TimeUnit unit)
+ throws InterruptedException {
+ return this.delegate.invokeAll(wrapCallableCollection(tasks), timeout, unit);
+ }
+
+ @Override
+ public T invokeAny(Collection extends Callable> tasks) throws InterruptedException, ExecutionException {
+ return this.delegate.invokeAny(wrapCallableCollection(tasks));
+ }
+
+ @Override
+ public T invokeAny(Collection extends Callable> tasks, long timeout, TimeUnit unit)
+ throws InterruptedException, ExecutionException, TimeoutException {
+ return this.delegate.invokeAny(wrapCallableCollection(tasks), timeout, unit);
+ }
+
+ private Collection extends Callable> wrapCallableCollection(Collection extends Callable> tasks) {
+ List> ts = new ArrayList<>();
+ for (Callable task : tasks) {
+ if (!(task instanceof LocalComponentTraceCallable)) {
+ ts.add(new LocalComponentTraceCallable<>(tracer(), traceKeys(),
+ spanNamer(), this.spanName, task));
+ }
+ }
+ return ts;
+ }
+
+ Tracer tracer() {
+ if (this.tracer == null && this.beanFactory != null) {
+ this.tracer = this.beanFactory.getBean(Tracer.class);
+ }
+ return this.tracer;
+ }
+
+ TraceKeys traceKeys() {
+ if (this.traceKeys == null && this.beanFactory != null) {
+ this.traceKeys = this.beanFactory.getBean(TraceKeys.class);
+ }
+ return this.traceKeys;
+ }
+
+ SpanNamer spanNamer() {
+ if (this.spanNamer == null && this.beanFactory != null) {
+ this.spanNamer = this.beanFactory.getBean(SpanNamer.class);
+ }
+ return this.spanNamer;
+ }
+
+}
diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceableScheduledExecutorService.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceableScheduledExecutorService.java
index 011558ee3..ac0dc1697 100644
--- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceableScheduledExecutorService.java
+++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/async/TraceableScheduledExecutorService.java
@@ -1,69 +1,69 @@
-/*
- * Copyright 2015 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.async;
-
-import java.util.concurrent.Callable;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.ScheduledFuture;
-import java.util.concurrent.TimeUnit;
-
-import org.springframework.cloud.sleuth.SpanNamer;
-import org.springframework.cloud.sleuth.Tracer;
-import org.springframework.cloud.sleuth.TraceKeys;
-
-/**
- * A decorator class for {@link ScheduledExecutorService} to support tracing in Executors
- *
- * @author Gaurav Rai Mazra
- * @since 1.0.0
- */
-public class TraceableScheduledExecutorService extends TraceableExecutorService implements ScheduledExecutorService {
-
- public TraceableScheduledExecutorService(ScheduledExecutorService delegate,
- Tracer tracer, TraceKeys traceKeys, SpanNamer spanNamer) {
- super(delegate, tracer, traceKeys, spanNamer);
- }
-
- private ScheduledExecutorService getScheduledExecutorService() {
- return (ScheduledExecutorService) this.delegate;
- }
-
- @Override
- public ScheduledFuture> schedule(Runnable command, long delay, TimeUnit unit) {
- Runnable r = new LocalComponentTraceRunnable(this.tracer, this.traceKeys, this.spanNamer, command);
- return getScheduledExecutorService().schedule(r, delay, unit);
- }
-
- @Override
- public ScheduledFuture schedule(Callable callable, long delay, TimeUnit unit) {
- Callable c = new LocalComponentTraceCallable<>(this.tracer, this.traceKeys, this.spanNamer, callable);
- return getScheduledExecutorService().schedule(c, delay, unit);
- }
-
- @Override
- public ScheduledFuture> scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit) {
- Runnable r = new LocalComponentTraceRunnable(this.tracer, this.traceKeys, this.spanNamer, command);
- return getScheduledExecutorService().scheduleAtFixedRate(r, initialDelay, period, unit);
- }
-
- @Override
- public ScheduledFuture> scheduleWithFixedDelay(Runnable command, long initialDelay, long delay, TimeUnit unit) {
- Runnable r = new LocalComponentTraceRunnable(this.tracer, this.traceKeys, this.spanNamer, command);
- return getScheduledExecutorService().scheduleWithFixedDelay(r, initialDelay, delay, unit);
- }
-
-}
+/*
+ * Copyright 2015 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.async;
+
+import java.util.concurrent.Callable;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.ScheduledFuture;
+import java.util.concurrent.TimeUnit;
+
+import org.springframework.cloud.sleuth.SpanNamer;
+import org.springframework.cloud.sleuth.Tracer;
+import org.springframework.cloud.sleuth.TraceKeys;
+
+/**
+ * A decorator class for {@link ScheduledExecutorService} to support tracing in Executors
+ *
+ * @author Gaurav Rai Mazra
+ * @since 1.0.0
+ */
+public class TraceableScheduledExecutorService extends TraceableExecutorService implements ScheduledExecutorService {
+
+ public TraceableScheduledExecutorService(ScheduledExecutorService delegate,
+ Tracer tracer, TraceKeys traceKeys, SpanNamer spanNamer) {
+ super(delegate, tracer, traceKeys, spanNamer);
+ }
+
+ private ScheduledExecutorService getScheduledExecutorService() {
+ return (ScheduledExecutorService) this.delegate;
+ }
+
+ @Override
+ public ScheduledFuture> schedule(Runnable command, long delay, TimeUnit unit) {
+ Runnable r = new LocalComponentTraceRunnable(this.tracer, this.traceKeys, this.spanNamer, command);
+ return getScheduledExecutorService().schedule(r, delay, unit);
+ }
+
+ @Override
+ public ScheduledFuture schedule(Callable callable, long delay, TimeUnit unit) {
+ Callable c = new LocalComponentTraceCallable<>(this.tracer, this.traceKeys, this.spanNamer, callable);
+ return getScheduledExecutorService().schedule(c, delay, unit);
+ }
+
+ @Override
+ public ScheduledFuture> scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit) {
+ Runnable r = new LocalComponentTraceRunnable(this.tracer, this.traceKeys, this.spanNamer, command);
+ return getScheduledExecutorService().scheduleAtFixedRate(r, initialDelay, period, unit);
+ }
+
+ @Override
+ public ScheduledFuture> scheduleWithFixedDelay(Runnable command, long initialDelay, long delay, TimeUnit unit) {
+ Runnable r = new LocalComponentTraceRunnable(this.tracer, this.traceKeys, this.spanNamer, command);
+ return getScheduledExecutorService().scheduleWithFixedDelay(r, initialDelay, delay, unit);
+ }
+
+}
diff --git a/spring-cloud-sleuth-samples/pom.xml b/spring-cloud-sleuth-samples/pom.xml
index 1cf7bcb82..fe0ff7a22 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.1.3.BUILD-SNAPSHOT
+ 1.1.4.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 721ca2542..ef88ada47 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.1.3.BUILD-SNAPSHOT
+ 1.1.4.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 f27c33439..e63c8be64 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.1.3.BUILD-SNAPSHOT
+ 1.1.4.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 1634f92c4..18cbf499a 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.1.3.BUILD-SNAPSHOT
+ 1.1.4.BUILD-SNAPSHOT
..
diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-stream/pom.xml b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-stream/pom.xml
index f10cee8f1..673e3b916 100644
--- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-stream/pom.xml
+++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-stream/pom.xml
@@ -28,7 +28,7 @@
org.springframework.cloud
spring-cloud-sleuth-samples
- 1.1.3.BUILD-SNAPSHOT
+ 1.1.4.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 ebe795557..9be760491 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.1.3.BUILD-SNAPSHOT
+ 1.1.4.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 8759ae06d..9e03dc5e1 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.1.3.BUILD-SNAPSHOT
+ 1.1.4.BUILD-SNAPSHOT
..
diff --git a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin-stream/pom.xml b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin-stream/pom.xml
index 4188686a7..c67871081 100644
--- a/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin-stream/pom.xml
+++ b/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin-stream/pom.xml
@@ -28,7 +28,7 @@
org.springframework.cloud
spring-cloud-sleuth-samples
- 1.1.3.BUILD-SNAPSHOT
+ 1.1.4.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 e02baaee5..4cfcbb287 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.1.3.BUILD-SNAPSHOT
+ 1.1.4.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 98a4c5da3..97e27166b 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.1.3.BUILD-SNAPSHOT
+ 1.1.4.BUILD-SNAPSHOT
..
diff --git a/spring-cloud-sleuth-stream/pom.xml b/spring-cloud-sleuth-stream/pom.xml
index 54bb03684..25552b75e 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.1.3.BUILD-SNAPSHOT
+ 1.1.4.BUILD-SNAPSHOT
diff --git a/spring-cloud-sleuth-zipkin-stream/pom.xml b/spring-cloud-sleuth-zipkin-stream/pom.xml
index 68bda6625..ab8ed5db7 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.1.3.BUILD-SNAPSHOT
+ 1.1.4.BUILD-SNAPSHOT
diff --git a/spring-cloud-sleuth-zipkin/pom.xml b/spring-cloud-sleuth-zipkin/pom.xml
index 3d0c0c511..82b98d6eb 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.1.3.BUILD-SNAPSHOT
+ 1.1.4.BUILD-SNAPSHOT
..
diff --git a/spring-cloud-starter-sleuth/pom.xml b/spring-cloud-starter-sleuth/pom.xml
index a8eb67393..d4d56eee7 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.1.3.BUILD-SNAPSHOT
+ 1.1.4.BUILD-SNAPSHOT
..
spring-cloud-starter-sleuth
diff --git a/spring-cloud-starter-zipkin/pom.xml b/spring-cloud-starter-zipkin/pom.xml
index 70ab3fc49..f7b824459 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.1.3.BUILD-SNAPSHOT
+ 1.1.4.BUILD-SNAPSHOT
..
spring-cloud-starter-zipkin