DefaultMQPushConsumerImpl sendMessageBack
核心实现要点如下:
-
首先根据 brokerName 得到 broker 地址信息,然后通过网络发送到指定的 Broker上。
-
如果上述过程失败,则创建一条新的消息重新发送给 Broker,此时新消息的主题为重试主题:“%RETRY%” + ConsumeGroupName, 注意,这里的主题和原先的消息主题没任何关系而是和消费组相关。
SendMessageProcessor processRequest
最近在 Broker 端会处理 CONSUMER_SEND_MSG_BACK命令。
2、Broker 端关于CONSUMER_SEND_MSG_BACK 的处理逻辑
===========================================
2.1、获取消费组的订阅信息
其代码入口:SendMessageProcessor#consumerSendMsgBack。