spring-cloud-sleuth 与 spring-amqp 集成
我只是迈出了 spring-cloud-sleuth
的第一步它适用于各种http调用。
现在,我也正在尝试涵盖消息传递部分。我看到了spring-cloud-sleuth
与 spring-integration
集成盒子外面。我目前只使用 spring-amqp
.有没有办法让这个工作。有没有人有一些见解甚至代码示例?
请您参考如下方法:
目前我们仅通过 spring-integration 直接支持 AMQP。为了支持 AMQP,您必须确保发送的所有消息都设置了正确的 header ,并且当您取回它们时,您必须获取这些 header 并将它们放入本地上下文中。例如,在此处完成向消息中注入(inject) 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 release train) 如果你有一个兔子模板类型的 bean,它应该可以开箱即用(参见 here )。不需要额外的代码。
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。