美文网首页
RocketMQ RemotingTooMuchRequestE

RocketMQ RemotingTooMuchRequestE

作者: 天命ming | 来源:发表于2019-10-22 13:06 被阅读0次

RocketMQ 报错 RemotingTooMuchRequestException: sendDefaultImpl call timeout

  1. 异常说明
    在客户端的 Producer 运行起来准备发送消息时可能会抛异常如下:
Exception in thread "main" org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeout
    at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendDefaultImpl(DefaultMQProducerImpl.java:640)
    at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.send(DefaultMQProducerImpl.java:1310)
    at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.send(DefaultMQProducerImpl.java:1256)
    at org.apache.rocketmq.client.producer.DefaultMQProducer.send(DefaultMQProducer.java:339)
    at com.lyh.demo.web.RocketMqProducer.main(RocketMqProducer.java:31)
14:09:23.391 [NettyClientSelector_1] INFO RocketmqRemoting - closeChannel: close the connection to remote address[] result: true

因为使用的是虚拟机,设置内存也只有1G,所以从 Windows 上开发连接 虚拟机中的 nameServer 时要经过 Linux 系统的防火墙,而防火墙一般都会有超时的机制,在网络连接长时间不传输数据时,会关闭这个 TCP 的会话,关闭后再读写,就有可能导致这个异常。

  1. 解决方法
    因为现在主要是熟练 RocketMQ 的 API,所以直接关闭 Linux 的防火墙,实际中如果买的是如 阿里云的云主机,会正常。
# 关闭防火墙
[root@localhost ~]# systemctl stop firewalld
# 查看防火墙状态
[root@localhost ~]# systemctl status firewalld

相关文章

网友评论

      本文标题:RocketMQ RemotingTooMuchRequestE

      本文链接:https://www.haomeiwen.com/subject/gsfayctx.html