MQClientException: No route info of this topic, topicTest01的原因
MQClientException: No route info of this topic, topicTest01
问题原因
maven版本和服务器不一样。按照官方文档执行的案例出错,主要是官方文档推荐的下载包是4.4.0,然后案例引入的maven是4.3.0。所以导致出现异常。 【MQClientException: No route info of this topic, topicTest01的原因】
maven
org.apache.rocketmq
rocketmq-client
4.4.0
producer
public class SyncProducer {
public static void main(String[] args) throws Exception{//注意maven引入的版本要和服务器的版本一致
DefaultMQProducer producer = new DefaultMQProducer("test_sync_group");
//我的虚拟机IP地址10.8.80.87
producer.setNamesrvAddr("10.8.80.87:9876");
producer.start();
for (int i=0;
i<20;
i++){
//String topic, String tags, byte[] body
Message message = new Message("topicTest01","TagA",("hello rocketMq"+i).getBytes(RemotingHelper.DEFAULT_CHARSET));
SendResult sendResult = producer.send(message);
System.out.printf("%s%n", sendResult);
}
producer.shutdown();
}
}
consumer
public class Consumer {
public static void main(String[] args) throws MQClientException {
//指定组
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("test_sync_group");
//指定服务器
consumer.setNamesrvAddr("10.8.80.87:9876");
// Subscribe one more more topics to consume.
consumer.subscribe("topicTest01","*");
consumer.registerMessageListener(new MessageListenerConcurrently() {
@Override
public ConsumeConcurrentlyStatus consumeMessage(List msgs, ConsumeConcurrentlyContext context) {
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");
}
}
推荐阅读
- ARouter之基础应用篇
- react+typescript+router框架搭建笔记
- Vue|vue-router 详解
- Asp.net|System.Globalization.DateTimeFormatInfo.InvariantInfo
- java分析工具
- vue-router|vue-router 由hash更换为history模式
- winform|winform form之间传递参数
- react-router4升级
- 信息熵,KL散度,JS散度
- react-router|react-router 源码阅读