RocketMQ报错:rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeout

逃离我推掉我的手 2022-12-19 13:19 360阅读 0赞

学习rocketmq发送同步消息的时候,报了一个这样的错:rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeout

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0RyZWFtX3h1bg_size_16_color_FFFFFF_t_70

以上测试代码启动后报错如下图。

20201108050803616.png

不想看原因的直接看解决方案:设置生产者发送消息的超时时间长一点。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0RyZWFtX3h1bg_size_16_color_FFFFFF_t_70 1

报错分析及解决方法:

看了网上说法很多:有说是因为ip不是外网ip,还有一些其他的。说ip不是公网ip的我就纳闷了。学习的时候,看资料人家用的就是虚拟机,局域网ip呀,不也成功了嘛。然后我就拿到报错的关键信息:sendDefaultImpl call timeout ,看是哪里打印了这个,为什么打印这个!

从producer.send点下去,最后在下面这张图的类中发现了这个信息。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0RyZWFtX3h1bg_size_16_color_FFFFFF_t_70 2

然后网上找callTimeout为啥是true。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0RyZWFtX3h1bg_size_16_color_FFFFFF_t_70 3

原来是因为默认的timeout是3000,太小了,调大一点就好了。

发表评论

表情:
评论列表 (有 0 条评论,360人围观)

还没有评论,来说两句吧...

相关阅读