一、背景
今天有项目组找过来说集成我们提供的SDK以后,原本项目中activeMQ可以正常使用的@JmsListener注解失效了,消费者不能正常的消费消息,需要使用原始编码的方式才能获取消息。
在进行代码调试的时候发现,JmsListenerAnnotationBeanPostProcessor
类中,获取到的JMS相关对象是sleuth相关的,经过排查发现,确实应用中引入了sleuth相关依赖,产生了冲突,引入sleuth依赖会默认启用JMS跟踪。
二、解决方法
因为项目打算使用skywalking进行链路追踪,所以关闭sleuth的JMS跟踪即可。
server:
port: 8082
spring:
activemq:
broker-url: tcp://127.0.0.1:61616
user: admin
password: admin
in-memory: false
pool:
enabled: false
# 关闭sleuth JMS追踪
sleuth:
messaging:
jms:
remote-service-name: false