Consumer获取指定Topic中的Message

/**
 * 获取指定Topic在集群中的消息
 * 
 * @author ZhangYongjia balabala.sean@gmail.com
 */
public class SingleTopicTotalMessageExample {

	public static void main(String[] args) throws Exception {
		DefaultMQPullConsumer consumer = new DefaultMQPullConsumer("Test-Group", null);
		consumer.setNamesrvAddr("rocketmq-ns-1:9876;rocketmq-ns-2:9876");
		consumer.start();

		Set<MessageQueue> messageQueues = consumer.fetchSubscribeMessageQueues("topic-2");
		long totalSize = 0;
		for (MessageQueue messageQueue : messageQueues) {
			PullResult pullResult = consumer.pull(messageQueue, "*", 0, 32);//32是rocketmq api中可指定的最大值, 内部是一个32长度的list
			
			//如果要遍历message body, 遍历以下list即可
			//List<MessageExt> msgFoundList = pullResult.getMsgFoundList();
			
			long maxOffset = pullResult.getMaxOffset();
			System.out.println(messageQueue.getBrokerName() + "==>" + messageQueue.getQueueId() + "==>" + maxOffset);
			totalSize += maxOffset;
		}
		System.out.println(totalSize);
		consumer.shutdown();
	}
}

 

转载于:https://my.oschina.net/u/3640447/blog/1506113

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值