spring-cloud-sleuth与spring-amqp集成

问题描述 投票:3回答:1

我只是用spring-cloud-sleuth做了第一步,它适用于所有类型的http调用。

现在我也试着看一下覆盖消息传递部分。我看到spring-cloud-sleuth与开箱即用的spring-integration集成在一起。我目前只使用spring-amqp。还有办法让这个工作。有没有人有一些见解甚至代码样本?

spring spring-cloud spring-amqp spring-cloud-sleuth
1个回答
4
投票

目前我们只通过弹簧集成直接支持AMQP。为了支持AMQP,您必须确保发送的所有消息都设置了正确的标头,当您将它们取回时,您必须将这些标头放入本地上下文中。例如,在这里完成向消息注入Span(跟踪)信息-https://github.com/spring-cloud/spring-cloud-sleuth/blob/v1.3.5.RELEASE/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/MessagingSpanTextMapInjector.java并从消息中提取跟踪数据在这里是https://github.com/spring-cloud/spring-cloud-sleuth/blob/v1.3.5.RELEASE/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/MessagingSpanTextMapExtractor.java。在此方法中,您可以将提取的Span设置为上下文https://github.com/spring-cloud/spring-cloud-sleuth/blob/v1.3.5.RELEASE/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceChannelInterceptor.java#L71

更新:

使用Sleuth 2.0.x(Finchley发布列车),如果你有一个兔子模板类型的bean(参见here),它应该开箱即用。不需要额外的代码。

© www.soinside.com 2019 - 2024. All rights reserved.