Rabbitmq java中的多线程跨度传播

Rabbitmq java中的多线程跨度传播,rabbitmq,spring-rabbit,open-telemetry,Rabbitmq,Spring Rabbit,Open Telemetry,我试图在java应用程序中插入Open Telemetry,以验证此解决方案是否可用于microservices体系结构中的请求跟踪 在我的场景中,“应用程序A”在RabbitMQ队列上生成消息,“应用程序B”使用来自RabbitMQ的消息(两个应用程序都使用Spring AMQP)。 在“应用程序A”发布的消息中,traceparent正确存在,并上升到“应用程序B” BlockingQueueConsumer使用该消息,其日志中正确显示了跟踪id和跨度id,并由slf4j记录。 Blocki

我试图在java应用程序中插入Open Telemetry,以验证此解决方案是否可用于microservices体系结构中的请求跟踪

在我的场景中,“应用程序A”在RabbitMQ队列上生成消息,“应用程序B”使用来自RabbitMQ的消息(两个应用程序都使用Spring AMQP)。 在“应用程序A”发布的消息中,traceparent正确存在,并上升到“应用程序B”

BlockingQueueConsumer使用该消息,其日志中正确显示了跟踪id和跨度id,并由slf4j记录。 BlockingQueueConsumer然后将消息的处理委托给BlockingQueueConsumer,后者在另一个线程内运行,从那里开始,跟踪id和span\u id丢失

这是OpenTelemetry的正常行为吗? 来自不同线程的上下文传播呢

谢谢
Damy

我无法回答您的问题,但我可以告诉您,如果您使用
DirectMessageListenerContainer
,将在amqp客户端线程上调用侦听器:嗨,Gary,谢谢您的回答。我还想了解OpenTelemetry是否以及如何处理将部分业务逻辑委托给其他线程的应用程序中的上下文传播