问题:
应用服务日志中发现一直报错,不停的打日志:[NettyClientSelector_1] INFO RocketmqRemoting - closeChannel: close the connection to remote address[] result: true
解决思路及步骤:
1、首先确认RocketMQ状态是否正常
可以使用RocketMQ提供的测试类测试一下,如果发送消息和消费消息正常,则排除RocketMQ运行状态问题。
(1)进入bin目录,编辑vim tools.sh
在export JAVA_HOME上面添加如下这段代码 ,换成自己的ip
export NAMESRV_ADDR=127.0.0.1:9876
(2)发送测试消息,成功会打印1000条TopicTest生成流水日志
./tools.sh org.apache.rocketmq.example.quickstart.Producer
(3)消费测试消息,成功会打印1000条TopicTest消费流水日志
./tools.sh org.apache.rocketmq.example.quickstart.Consumer
如果生成和消费都没问题,那么就排查RocketMQ状态问题,如果不放心可以用 rocketmq-console-ng可视化页面查看刚刚1000条测试消息
2、网络通信问题
RocketMQ配置完成启动rmqbroker后发现IP为docker内部IP而非宿主机IP,更改配置文件:
1、RocketMQ配置文件broker.conf中添加主机IP的配置
brokerIP1=192.XXX.XXX.XXX
2、删除原容器,重新启动新的rmqbroker,IP变为宿主机IP,问题解决
3、特殊的情况(超级坑)
如果出现:org.apache.rocketmq.remoting.exception.RemotingSendRequestException: send request to <127.0.0.1:9876> failed
我们排查了一下午,结果在某个博客看到有人说可能是org.apache.rocketmq:rocketmq-spring-boot-starter和fastjson版本冲突问题,结果真的是
原文https://www.cnblogs.com/wei2cai/p/16814345.html
然后把fastjson版本升级到了2.0.19就可以了
参考:https://www.freesion.com/article/2834981885/