rocketMQ No route info of this topic 错误

最近在使用rocketmq 发送消息,出现了No route info of this topic 异常,但奇怪的是我的其它的服务都可以成功发送,唯有crs服务不能成功发送,在网上搜索的解决方式基本上都是:

ocketmq运行时提示 No route info of this topic 异常产生的原因可能是

①Broker禁止自动创建Topic,且用户没有通过手工方式创建Topic

②Broker没有正确连接到Name Server
③Producer没有正确连接到Name Server

这三种,我的貌似哪一种都不是因为我的其它服务可以成功发送,于是手动调试代码,发现了一个隐藏的错误,我的服务却没有打印出来:

send request to <ip:9876> failed

java.lang.NoSuchMethodError: io.netty.channel.ChannelPromise.unvoid()Lio/netty/channel/ChannelPromise;

这个是在producer 在 调用

updateTopicRouteInfoFromNameServer 的时候报的错。原来rocketmq会使用netty作为底层的链接。那为什么我的rocketmq会找不到方法呢?我的版本也是对的。难道是我引用了别的netty把rockentmq的给替换掉了吗?仔细检查了pom,果然如此

我真的引用了netty-all这个依赖,我怎么会引用这个依赖呢???决心去掉它尝试看看能不能发送成功,果然成功了。真的是它的原因。。。所以,有时候问题不一定就是你想的那样,还得像大神说的那样多跟踪源码才可以呀。对了,我使用的rocketmq的版本是:4.3.2。


原文地址:https://www.cnblogs.com/bfyq/p/10790359.html

时间: 2024-07-30 20:03:34

rocketMQ No route info of this topic 错误的相关文章

RocketMQ No route info of this topic 问题

这个问题是一个经典问题,https://github.com/alibaba/RocketMQ/issues/44  这个里面也说明了如何去解决. 但是我遇到的问题这里面没有说明. 事情经过是这样的: 我在Producer 配置 对参数:createTopicKey 进行了配置.在发送消息时死活都报No route info of this topic: 但是查看Mq的配置 sh ./bin/mqbroker -m autoCreateTopicEnable=true 这个没有问题,经过尝试发现

No route info of this topic

使用rocketmq时报错 com.alibaba.rocketmq.client.exception.MQClientException: No route info of this topic, topic-test 搜索原因,找到这几种解决方式 1: 在启动broker时,添加 autoCreateTopicEnable=true 如: mqbroker -n localhost:9876 autoCreateTopicEnable=true 2:检查lib下有无fastjson的jar包

org.apache.rocketmq.client.exception.MQClientException: No route info of this topic, TopicTest异常解决

使用RocketMQ发送消息抛出异常,异常如下: 原因: Broker 禁止自动创建Topic,且用户没有通过手动创建此Topic,或者broker 和 Nameserver网络不同: 解决方案: 1. 修改broker.properties配置,自动创建topic,添加如下: autoCreateTopicEnable=true 2. 升级RocketMQ版本为4.4.0,新版本会默认自动创建 <dependency> <groupId>org.apache.rocketmq&l

RocketMQ踩坑记

一.前言 现在的主流消息队列基本都是kafka.RabbitMQ和RocketMQ,只有了解各自的优缺点才能在不同的场景选择合适的MQ,对比图如下: MQ对比图 本篇文章主要介绍我自己在跑官方demo时遇到的一些坑(基于4.3版本),建议先看看RocketMQ的理论知识. Apache 上开源官方地址:https://rocketmq.apache.org/ GitHub 托管地址:https://github.com/apache/rocketmq 阿里官方的介绍文档:http://jm.ta

rocketmq安装与基本操作

如果不是因为政治原因,就rocketmq的社区活跃度.版本.特性和文档完善度,我是无论如何也不会使用rocketmq的. rocketmq严格意义上并不支持高可靠性,因为其持久化只支持异步,有另外一个线程flush,不支持配置同步刷新到磁盘.只能说多个节点宕机的概率很低很低,外加现在的服务器一般都是UPS. rocketmq官方提供了一份与activemq,kafka的特性对比(但没有包括与rabbitmq的比较).引用如下: Messaging Product Client SDK Proto

初步搭建RocketMQ环境

1. 去官网https://github.com/alibaba/RocketMQ/releases下载alibaba-rocketmq-3.2.6.tar.gz,这个是已经maven install好了的.当然也可以下载source code自己编译. 2. 进入解压后的项目的bin目录下,分别启动name server和broker server. 参考<搭建RocketMQ服务>.<阿里RocketMQ Quick Start> 3. 编写producer和consumer测

SpringBoot(17)---SpringBoot整合RocketMQ

SpringBoot整合RocketMQ 上篇博客讲解了服务器集群部署RocketMQ 博客地址:RocketMQ(2)---Docker部署RocketMQ集群 这篇在上篇搭建好的基础上,将SpringBoot整合RocketMQ实现生产消费. GitHub地址: https://github.com/yudiandemingzi/SpringBootBlog 一.搭建步骤 先说下技术大致架构 SpringBoot2.1.6 + Maven3.5.4 + rocketmq4.3.0 + JDK

Windows命令-route

Windows route命令 添加一条永久网关:route add 0.0.0.0 mask 0.0.0.0 192.168.2.1 -p 具体功能 该命令用于在本地IP路由表中显示和修改条目.使用不带参数的ROUTE可以显示帮助. 2.语法详解 route [-f] [-p] [command [destination] [mask netmask] [gateway] [metric metric] [if interface] 3.参数说明 -f 清除所有不是主路由(子网掩码为255.2

SpringBoot2.X 整合 RocketMQ4.X

开发生产者代码 第一步:创建很普通的 SpringBoot 项目 第二步:加入相关依赖 <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <version>4.3.0</version> </dependency> 第三步:写代码 PayProducer 类如下所示: pack