错误信息如下:
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.dream21th.rocketmq.producer.ProducerSync.main(ProducerSync.java:29)
debug调试代码,发现rocketmq联的ip地址是172.31.152.219
由于是使用的阿里云部署的rocketmq,我们登录服务器,发现内网的ip和上面的一致。所以通过外网是访问不了的。
通过下面指令编写一个broker.properties文件,并制定ip
[root@iZm5e8xpme70yxqoa4zoydZ conf]# pwd
/home/app/rocketmq/conf
[root@iZm5e8xpme70yxqoa4zoydZ conf]# echo brokerIP1=118.190.62.94 >> broker.properties
重新启动broker,再次运行代码正常
[root@iZm5e8xpme70yxqoa4zoydZ conf]# mqbroker -n 118.190.62.94:9876 -c broker.properties &