DefaultMQProducer producer = new DefaultMQProducer(namespace, groupName,// ACL权限new AclClientRPCHook(new SessionCredentials(AK, SK)), true, null);
// 实例化消费者DefaultMQPushConsumer pushConsumer = new DefaultMQPushConsumer(NAMESPACE,groupName,new AclClientRPCHook(new SessionCredentials(AK, SK)),new AllocateMessageQueueAveragely(), true, null);
DefaultLitePullConsumer pullConsumer = new DefaultLitePullConsumer(NAMESPACE,groupName,new AclClientRPCHook(new SessionCredentials(AK, SK)));// 设置NameServer的地址pullConsumer.setNamesrvAddr(NAMESERVER);pullConsumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_LAST_OFFSET);pullConsumer.setAutoCommit(false);pullConsumer.setEnableMsgTrace(true);pullConsumer.setCustomizedTraceTopic(null);
package com.lazycece.sbac.rocketmq.messagemodel;import lombok.extern.slf4j.Slf4j;import org.apache.rocketmq.spring.annotation.MessageModel;import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;import org.apache.rocketmq.spring.core.RocketMQListener;import org.springframework.stereotype.Component;/*** @author lazycece* @date 2019/8/21*/@Slf4j@Componentpublic class MessageModelConsumer {@Component@RocketMQMessageListener(topic = "topic-message-model",consumerGroup = "message-model-consumer-group",enableMsgTrace = true,messageModel = MessageModel.CLUSTERING)public class ConsumerOne implements RocketMQListener<String> {@Overridepublic void onMessage(String message) {log.info("ConsumerOne: {}", message);}}}
参数 | 说明 |
生产地址 | 对应生产者的地址以及端口。 |
生产时间 | TDMQ RocketMQ 版服务端确认接收到消息的时间,精确到毫秒。 |
发送耗时 | 消息从生产端发送到 TDMQ RocketMQ 版服务端的时间消耗,精确到微秒。 |
生产状态 | 表示消息生产成功或失败,如果状态为失败一般是消息在发送过程中遇到了头部数据部分丢失,以上几个字段可能会为空值。 |
参数 | 说明 |
存储时间 | 消息被持久化的时间。 |
存储耗时 | 消息从被持久化到 TDMQ RocketMQ 版服务端接收到确认信息的时间,精确到毫秒。 |
存储状态 | 表示消息持久化成功或失败,如果状态为失败则表明消息未落盘成功,可能由于底层磁盘损坏或无多余容量导致,遇见此类情况需尽快提工单咨询。 |
参数 | 说明 |
消费组名称 | 消费组的名称。 |
消费模式 | 消费组的消费模式,支持集群消费和广播消费两种模式。 |
推送次数 | TDMQ RocketMQ 版服务端向消费者投递该消息的次数。 |
最后推送时间 | TDMQ RocketMQ 版服务端最后一次向消费者投递该消息的时间。 |
消费状态 | 已推送未确认:TDMQ RocketMQ 版服务端已向消费者投递消息,未接收到消费者回复的确认消息。 已确认:消费者回复确认信息(ACK)到 TDMQ RocketMQ 版服务端,服务端接收到确认信息。 转入重试:已超时,服务端仍未接收到确认信息,将再次投递消息。 已重试未确认:TDMQ RocketMQ 版服务端已再次向消费者投递消息,未接收到消费者回复的确认消息。 已转入死信队列:消息经过一定重试次数后仍未能被正常消费,被投递至死信队列。 说明: 如果消费模式为广播模式,则消费状态只有已推送一种。 |
本页内容是否解决了您的问题?