RocketMQ生产者和消费者都开启Message Trace后,Consume Message Trace没有消费轨迹

一、依赖

<dependency>
	<groupId>org.apache.rocketmqgroupId>
	<artifactId>rocketmq-spring-boot-starterartifactId>
	<version>2.0.3version>
dependency>

二、场景

1、生产者和消费者所属同一个程序

2、生产者开启消息轨迹

DefaultMQProducer producer = new DefaultMQProducer(groupName, new AclClientRPCHook(new SessionCredentials("xxx", "xxx")), true, null);

3、消费者开启消息轨迹

DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("", config.getGroupName(), new AclClientRPCHook(new SessionCredentials("xxx", "xxx")), new AllocateMessageQueueAveragely(), true, null);

4、生产者和消费者一起开启后,在RocketMQ可视化界面,无法查看到消息的消费轨迹

注:如果只开启生产者或消费者其中之一的消息轨迹,则消息的消费轨迹是正常的

三、表现

无法展示消费轨迹

RocketMQ生产者和消费者都开启Message Trace后,Consume Message Trace没有消费轨迹_第1张图片

四、原因

具体原因不明确,通过更换RocketMQ依赖版本解决问题

五、解决

更换RocketMQ依赖版本,将2.0.3替换为2.2.3

<dependency>
	<groupId>org.apache.rocketmqgroupId>
	<artifactId>rocketmq-spring-boot-starterartifactId>
	<version>2.2.3version>
dependency>

更换后消息轨迹展示正常

RocketMQ生产者和消费者都开启Message Trace后,Consume Message Trace没有消费轨迹_第2张图片

你可能感兴趣的:(RocketMQ,Java开发问题,rocketmq)