目前rocketmq 被使用的概率大大提升,相信很多朋友也都想着去试试,在测试的过程中根据官网给出的案例,应该有部分朋友遇到过这个异常: No route info of this topic,然后上网查询结果...解决呢 public static void main(String[] args) throws Exception{ //Instantiate with a producer group name...DefaultMQProducer producer = new DefaultMQProducer("group"); // Specify name server addresses...i++) { final int index = i; //Create a message instance, specifying topic
前言 用过rocketmq的人,采用客户端调用的时候,可能会相对高频的出现的 No route info of this topic这个异常问题,然后你可能会拿着这个问题,直接谷歌百度一把,会发现网上告诉你的答案...Route Info”, how to diagnose?...Producer complains “No Topic Route Info”, how to diagnose?...Make sure that the producer can connect to a name server and is capable of fetching routing meta info...You may query the routing meta info from name server through topicRoute using admin tools or web console
而在使用RocketMQ等消息队列时,开发者有时会遇到MQClientException: No route info of this topic, mytopic的异常。...一、分析问题背景 MQClientException: No route info of this topic, mytopic异常通常出现在使用RocketMQ时,客户端尝试向指定的topic发送或接收消息...info of this topic, mytopic 二、可能出错的原因 导致MQClientException: No route info of this topic, mytopic的原因主要包括以下几种...五、注意事项 在编写代码时,注意以下几点可以有效避免MQClientException: No route info of this topic, mytopic异常的发生: 确保topic已在服务器上注册...通过以上方法,可以有效解决MQClientException: No route info of this topic, mytopic异常,提高消息传递的稳定性和可靠性。
org.apache.rocketmq.client.exception.MQClientException: No route info of this topic, TopicTest See http...,且用户没有通过手工方式创建Topic 官方文档中启动 Broker是这样的: nohup sh bin/mqbroker -n localhost:9876 & 其实我们可以改成这样: nohup sh...bin/mqbroker -n localhost:9876 autoCreateTopicEnable=true & 红字意思(允许自动创建Topic,且允许通过手工方式创建Topic) ② 客户端的...Producer 没有正确连接到Name Server //Instantiate with a producer group name....DefaultMQProducer producer = DefaultMQProducer("traffic_group"); // Specify name server addresses
info of this topic”异常,win10本地启动同版本的rocketmq release库没有任何问题,搜索了许久仍然没有找到问题,关于这个问题,部分原因在笔者,笔者没有完全按照http...RemotingException, InterruptedException, MQBrokerException { //Instantiate with a producer group name...引入rocketmq-spring-boot-starter引入后导致MQClientInstance实例被提前创建,提前创建使用的是application.yml文件中配置: rocketmq: name-server...info of this topic"这个异常,搜索了很多最终都没有解决问题,最终单步调试解决了该问题。...info of this topic“这个错误 2、引入rocketmq-spring-boot-starter以来时不要使用DefaultMQProducer发送信息
RocketMQ在发送消息的时候,提示:MQClientException: No route info of this topic xxx 错误提示是说,没有xxx这个topic....出现topic不存在,主要有以下三种情况导致的: 第一种:broker中真的没有xxx这个topic....可以登录rockermq控制台查看: 可以搜索topic。 或者查看broker的日志确定topic是否真的存在。...=recommend 出现如下内容说明topic已经存在: 图片 如果没有出现以上内容,说明topic确实不存在。...可以通过自动创建topic或者手动创建topic解决问题。 自动创建topic:可以在启动broker启动脚本添加自动创建topic参数。
MQClientException: No route info of this topic, TopicTest1 4.1.1....异常说明 在客户端的Producer运行起来准备发送消息时抛异常为 “ No route info of this topic ” 异常产生的原因可能是: Broker 禁止自动创建 Topic,且用户没有通过手工方式创建...Topic Broker 没有正确连接到 Name Server Producer 没有正确连接到 Name Server 4.1.2....没有正确连接到 Name Server 检查程序连接Name Server的地址有没有错 如果在云服务器上,检查安全组的配置9876端口有没有开发 看看有没有打开防火墙,有的话设置防火墙开放9876端口...异常说明 在客户端的 Producer 运行起来准备发送消息时抛异常如下 通常因为Name Server连接不上Broker ? 4.2.2.
printMsg -n 192.168.1.x:9876 -t SCANRECORD "t", "topic", true, "topic name" "c", "charsetName ", true...route info in name server for the topic: %RETRY%dpmComScanRecordConsumer See [http://rocketmq.apache.org...route info in name server for the topic: %RETRY%dpmComScanRecordConsumer See [http://rocketmq.apache.org...", true, "topic name" "b", "brokerName", true, "Broker Name" "i", "queueId", true, "Queue Id" "o", "offset...route info in name server for the topic: %RETRY%dpmComScanRecordConsumer See [http://rocketmq.apache.org
路由,那么reponseCode为TOPIC_NOT_EXIST response.setCode(ResponseCode.TOPIC_NOT_EXIST); response.setRemark...("No topic route info in name server for the topic: " + requestHeader.getTopic()...+ FAQUrl.suggestTodo(FAQUrl.APPLY_TOPIC_URL)); return response; } 结合这两个方法,我们可以总结出查找Topic路由主要分为3个步骤...如果topic为顺序消息,那么从KVconfig中获取关于顺序消息先关的配置填充到orderTopicConf中。...如果找不到路由信息,那么返回code为ResponseCode.TOPIC_NOT_EXIST。
二:Broker模块没有正确连接到Name Server 三:Producer没有正确连接到Name Server 办法 排查1:Broker 禁止自动创建 Topic,且用户没有通过手工方式创建 Topic...main - transientStorePoolEnable=false [root@localhost apache-rocketmq]# 排查2:Broker 没有正确连接到 Name Server...to name server localhost:9876 OK 2018-08-11 23:48:31 INFO main - Start transaction service!...serializeType=JSON and name server is localhost:9876 2018-08-11 23:48:41 INFO BrokerControllerScheduledThread1...name server localhost:9876 OK 排查3:Producer 没有正确连接到 Name Server 如果按前两步检查没有问题,但启动还是报错,那就只剩下第三种情况了,最大可能是发送者和
} else { log.info("the topic[{}] route info changed, old[{}] ,new[{}]", topic...("new name server is chosen....server channel exception", e); } finally { this.lockNamesrvChannel.unlock...(); } } else { log.warn("getAndCreateNameserverChannel: try to lock name...server, but timeout, {}ms", LOCK_TIMEOUT_MILLIS); } return null; } private
(主题)Exchange主题交换的主要关注点在路由键,路由键通常是由零个或者多个有意义的单词通过点号( . )分隔拼接而成,类似于: topic.route.one ,topic.route,topic....#.#* , topic.route.#.# ,topic.route.*# , topic.route.one , # ,* 等等使用场景模糊匹配进行消息的传播,例如给用户推送新闻的时候,可以采用用户搜索过的关键字进行模糊匹配推送...演示架构编辑 生产者发送消息道topic交换机上面,队列A和队列B绑定一个topoc交换机,对于队列a来说,它绑定的key为info.#,对于队列b来说,它绑定的key为info.*。...org.projectlombok lombok application.yml配置文件如下:server...: queue.topic.b接收到消息:hello world(info.xxxooo)2023-09-26 22:20:46.716 INFO 42376 --- [ntContainer
org.springframework.boot spring-boot-starter-amqp 配置配置文件 server...: port: 9090 spring: application: # 微服务系统有意义, 养成好习惯, 先写出来 name: rabbitmq-02-springboot...public void receive2(String message) { System.out.println("message2 = " + message); } } 第四种 Route...路由模型 开发生产者 /** * route 路由 */ @Test void testRoute() { // exchange 交换机名称...rabbitTemplate.convertAndSend("directs", "info", "info的key的路由消息"); } 开发消费者 /** * @author
一个 Topic 下可以设置多个消息队列,发送消息时执行该消息的 Topic ,RocketMQ 会轮询该 Topic 下的所有队列将消息发出去。 Spring Boot整合Rocketmq 1....配置rocketmq信息 rocketmq: name-server: 127.0.0.1:9876 producer: group: my-producer-group 3....implements RocketMQListener { @Override public void onMessage(String message) { log.info... 此是spring-boot-route系列的第十五篇文章,这个系列的文章都比较简单,主要目的就是为了帮助初次接触Spring Boot 的同学有一个系统的认识。...github:https://github.com/binzh303/spring-boot-route
: "A", route: "A", }, { pubsubname: "pubsub", topic: "B", route: "B",...']) def subscribe(): subscriptions = [{ 'pubsubname': 'pubsub', 'topic': 'A', 'route': 'A...' }, { 'pubsubname': 'pubsub', 'topic': 'C', 'route': 'C' }] return jsonify(subscriptions...要使用 Dapr 来发布消息,同样也是直接使用 Dapr 提供的 API 端点 http://localhost:/publish/NAME>/TOPIC> 即可,...发布订阅通常用于需要高度可伸缩的大型应用程序,发布和订阅应用程序通常比传统的 client/server 应用程序具有更好的伸缩性。
spm=a2c4g.11186623.6.540.afd02578y4vHe4 本文主要记录在使用rocketmq client时,遇到的一些坑,作者采用的客户端版本是4.2 踩到的坑 1、No route...info of this topic 遇到这种情况的原因可能有 1、Broker禁止自动创建Topic,且用户没有通过手工方式创建Topic 解决方案 在启动broker时加上 autoCreateTopicEnable...Server 解决方案 查看broker.log 日志信息 3、Producer没有正确连接到Name Server 解决方案 切换到rocketmq的bin目录,执行 sh mqadmin clusterList...-n 安装rocketmqip地址:9876 如果出现 #Cluster Name #Broker Name #BID #Addr #...: Name, BrokersSent: [broker-a, broker-a, null] 1、如果出现开始发送消息成功,消费者接收消息后,再发送消息的话,出现上诉异常,则有很大概率是机器磁盘空间不足
一、RocketMQ消息模型 屏幕快照 2018-03-31 14.50.41.png 在部署RocketMQ的时候,先启动name server,再启动broker,这时候broker会将自己注册到name...server拉取一次broker集群的地址,这意味着如果某个broker宕机了,生产者在这两分钟之内的消息是投递失败的;定期从name server拉取topic等路由信息;定期清理失效的broker...(ClientErrorCode.NO_NAME_SERVER_EXCEPTION); } throw new MQClientException("No route...info of this topic, " + msg.getTopic() + FAQUrl.suggestTodo(FAQUrl.NO_TOPIC_ROUTE_INFO),...nameServer的地址:name server地址,用于获取broker、topic信息 消费者Demo里做了以下几个事情: 设置配置属性 设置订阅的topic,可以指定tag 设置第一次启动的时候
= null) { return sendResult; } String info = String.format("...(null == nsList || nsList.isEmpty()) { throw new MQClientException( "No name...server address, please set it." + FAQUrl.suggestTodo(FAQUrl.NAME_SERVER_ADDR_NOT_EXIST_URL), null).setResponseCode...(ClientErrorCode.NO_NAME_SERVER_EXCEPTION); } throw new MQClientException("No route...info of this topic, " + msg.getTopic() + FAQUrl.suggestTodo(FAQUrl.NO_TOPIC_ROUTE_INFO),
Server > nohup sh bin/mqnamesrv & > tail -f ~/logs/rocketmqlogs/namesrv.log The Name Server boot success...autoCreateTopicEnable:使用 RocketMQ 进行发消息时,必须要指定 topic,对于 topic 的设置有一个开关 autoCreateTopicEnable,一般在开发测试环境中会使用默认设置...namesrvAddr:Name Server 地址 maxMessageSize:消息最大限制,默认 4M sendMsgTimeout:消息发送超时时间,默认 3 秒 retryTimesWhenSendFailed...我在测试时遇到的情况是,在 Name Server 启动之后,再启动 Boker 时,ssh 连接会直接提示 connect conversation fail....Route Info,xxx 这个在官方的 FAQ 里面有提到,说明遇到的频次一定是很高的。
please." + FAQUrl.suggestTodo(FAQUrl.GROUP_NAME_DUPLICATE_URL), null);...please." + FAQUrl.suggestTodo(FAQUrl.GROUP_NAME_DUPLICATE_URL), null);...server address, please set it." + FAQUrl.suggestTodo(FAQUrl.NAME_SERVER_ADDR_NOT_EXIST_URL), null).setResponseCode...(ClientErrorCode.NO_NAME_SERVER_EXCEPTION); } //发送抛错没有找到Topic路由信息 throw new MQClientException...("No route info of this topic, " + msg.getTopic() + FAQUrl.suggestTodo(FAQUrl.NO_TOPIC_ROUTE_INFO),