这几天项目需要查看mq的消费情况,阿里开源的mq-console界面挺好的,但是里面权限太大了,所以就琢磨着自己开发接口获取mq消费信息。话不多说,贴出代码
long timeout = 1000 * 3; String topic = "market_test_topic"; String group = "group_name"; String nameAddr="mq的nameAddr"; //MQClientManager创建MQClientInstance,需要传入一个ClientConfig。 //因为DefaultMQProducer继承了ClientConfig,所以这里直接创建了DefaultMQProducer DefaultMQProducer producer = new DefaultMQProducer(group); producer.setNamesrvAddr(nameAddr); MQClientInstance mqClient = MQClientManager.getInstance().getAndCreateMQClientInstance(producer); //这个start(),花费了我好长时间才意识到需要调用 mqClient.start(); //扣了rocketmq-tools的源码找到这个类 MQClientAPIImpl api = mqClient.getMQClientAPIImpl(); TopicRouteData routeData = api.getTopicRouteInfoFromNameServer(topic, timeout); List<BrokerData> brokerDatas = routeData.getBrokerDatas(); List<MqBrokerConsumeInfo> consumeInfoList=new ArrayList<&