Updates to Zipkin 0.12

Prevents crashes by making storage calls lazy
This commit is contained in:
Adrian Cole
2016-04-05 14:05:14 +08:00
parent 4eaa4f00df
commit 37a079c174
3 changed files with 9 additions and 5 deletions

View File

@@ -16,7 +16,7 @@
<properties>
<spring-cloud-netflix.version>1.1.0.BUILD-SNAPSHOT</spring-cloud-netflix.version>
<aspectj.version>1.8.4</aspectj.version>
<zipkin-java.version>0.11.0</zipkin-java.version>
<zipkin-java.version>0.12.1</zipkin-java.version>
<zipkin-ui.version>1.39.3</zipkin-ui.version>
</properties>
<dependencyManagement>

View File

@@ -59,12 +59,12 @@
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin</artifactId>
<version>0.11.0</version>
<version>0.12.1</version>
</dependency>
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-server</artifactId>
<version>0.11.0</version>
<version>0.12.1</version>
</dependency>
</dependencies>
</dependencyManagement>

View File

@@ -24,6 +24,7 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ConditionContext;
import org.springframework.context.annotation.Conditional;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Lazy;
import org.springframework.context.annotation.Profile;
import org.springframework.core.env.ConfigurableEnvironment;
import org.springframework.core.env.Environment;
@@ -39,6 +40,7 @@ import zipkin.BinaryAnnotation.Type;
import zipkin.Endpoint;
import zipkin.Sampler;
import zipkin.Span.Builder;
import zipkin.StorageComponent;
/**
* A message listener that is turned on if Sleuth Stream is disabled.
@@ -58,9 +60,11 @@ public class ZipkinMessageListener {
static final String UNKNOWN_PROCESS_ID = "unknown";
final AsyncSpanConsumer consumer;
/** lazy so transient storage errors don't crash bootstrap */
@Lazy
@Autowired
ZipkinMessageListener(AsyncSpanConsumer consumer) {
this.consumer = consumer;
ZipkinMessageListener(StorageComponent storage, Sampler sampler) {
this.consumer = storage.asyncSpanConsumer(sampler);
}
@ServiceActivator(inputChannel = SleuthSink.INPUT)