System.out.println(“-------------------分割线-----------------”);
System.out.printf(“%s Receive New Messages: %s %n”, Thread.currentThread().getName(), msgs);
return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
}
});
consumer.start();
System.out.printf(“Consumer Started.%n”);
}
}
执行效果如图所示:

不知道大家是否有注意到,调用 msgs.get(0).getMsgId()返回的msgId 与直接输出msgs中的 msgId 不一样,那这又是为什么呢?答案在本文的第二部分有详细分析。
[](()2、消息ID释疑
从消息发送的结果可以得知,RocketMQ 发送的返回结果会返回msgId 与 offsetMsgId,那这两个 msgId 分别是代表什么呢?
-
msgId:该ID 是消息发送者在消息发送时会首先在客户端生成,全局