背景:
由于springboot配置的rabbitmq默认是非阻塞式的,但是由于项目原因,通过手工编码实现了阻塞的发消息的mq。测试跑demo时发消息一直没响应,发现是阻塞在mq这里了。
推测:网络问题
因为rabbitmq部署在linux的docker里,怀疑会不会是访问不到远程docker容器,通过telnet查看能否访问,又发现一个问题:使用telnet localhost 5672会显示访问被拒绝,使用telnet 127.0.0.1 5672则能成功连接,不知道算不算是bug。
解决方法:
排除了网络问题,最终发现是创建docker容器时分配的内存太少了,原来分配了200M,重新装了一个mq容器给分配了500M就可以了。